« 06.18 世界政府、の形 | ココ | 06.19 ポリシーは作れども »
2007年6月19日
COPYはスーパーユーザの権利
SQL文のCOPYは、スーパーユーザー権限がなければ実行することができないので、これを何とかしたい。プログラムで使用するユーザーにスーパーユーザーの権限を与えてしまえば楽だが、セキュリティ的に不安が残る。
PostgreSQLの環境設定(ref. ASHのホームページ)
上の「insert文を使う方法」に、シェルスクリプトからデータベースを操作する方法が書かれていたのでそれを拝借。シェルスクリプト.shにて、psqlを呼び出せばいいだけ。
echo "SQL文もしくはpsqlコマンド" | psql -d dbname -U username -q
echoの引数にCOPY文を入れてやればいい。そのスクリプトをsystem関数で呼び出す、と。無論、echoの引数を"$1"にすればsystem関数で呼び出すときの引数にできる。まぁスーパーユーザー権限で任意のSQLを実行できることになるが…。そこはSELinuxで制限するなり、ブラウザから直接実行できない場所に置くとか対策をすれば。
By ただ at 21:25 カテゴリー ; mein Erbe , 仕事関係
« 06.18 世界政府、の形 |
06月の記事
| 06.19 ポリシーは作れども »
トラックバック
このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/991