- ベストアンサー
シェルスクリプトでのcopy
いつもお世話になっています。 基本がわかっていないので、お手数ですがよろしくお願いいたします。 シェルスクリプトでvacuumやcopyを行いたいのですが、どんな感じで シェルスクリプトを作成すれば良いのか分かりません。 参考サイトで構いませんのでお助けお願いいたします。 またシェルで同じテーブルに対し\copy...fromを同時に実行した 場合、問題はないのでしょうか?(キーが重複するデータはありません。)
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ninoといいます。 vacuumについて vacuumdb というシェルから実行できるコマンドがありますのでこちらを使ったほうが良いかと http://www.postgresql.jp/document/pg814doc/html/reference-client.html 直接SQL文を psql に渡すには、 echo " SELECT * FROM test " | psql testdb 実行結果 -bash$ echo "SELECT * FROM test " | psql testdb id | name ----+---------- 1 | hoge 2 | hogehoge (2 rows) -bash$ psql の -f オプションを使えば SQLを記述したファイルを実行できます。 http://www.postgresql.jp/document/pg814doc/html/app-psql.html 上記について 同じようにするには -bash$ echo " SELECT * FROM test; " > test.sql -bash$ cat test.sql select * from test; -bash$ psql -f test.sql testdb id | name ----+---------- 1 | hoge 2 | hogehoge (2 rows) または -bash$ psql testdb < test.sql id | name ----+---------- 1 | hoge 2 | hogehoge (2 rows) >同じテーブルに対し\copy...fromを同時に実行した場合、問題はないのでしょうか? これは、自分で試してみましょう。 まずは自分で試して、確認することが一番です。
お礼
こんにちは ご回答ありがとうございます。 また、返答が遅くなり誠に申し訳ありません。 参考になりました。 >これは、自分で試してみましょう。 >まずは自分で試して、確認することが一番です。 そうですね。 これまでに結構大きなデータもできたので、自分でやってみます。 本当にありがとうございました。