• ベストアンサー

シェルスクリプトでのcopy

いつもお世話になっています。 基本がわかっていないので、お手数ですがよろしくお願いいたします。 シェルスクリプトでvacuumやcopyを行いたいのですが、どんな感じで シェルスクリプトを作成すれば良いのか分かりません。 参考サイトで構いませんのでお助けお願いいたします。 またシェルで同じテーブルに対し\copy...fromを同時に実行した 場合、問題はないのでしょうか?(キーが重複するデータはありません。)

質問者が選んだベストアンサー

  • ベストアンサー
  • nino2
  • ベストアンサー率88% (8/9)
回答No.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を同時に実行した場合、問題はないのでしょうか? これは、自分で試してみましょう。 まずは自分で試して、確認することが一番です。

papope
質問者

お礼

こんにちは ご回答ありがとうございます。 また、返答が遅くなり誠に申し訳ありません。 参考になりました。 >これは、自分で試してみましょう。 >まずは自分で試して、確認することが一番です。 そうですね。 これまでに結構大きなデータもできたので、自分でやってみます。 本当にありがとうございました。

関連するQ&A