psqlコマンドを利用しコマンドラインからSQLを実行する方法 †シェルスクリプトなどからpsqlコマンドを介し、PostgreSQLにSQLを発行したいことはありませんか? テスト環境 †
関連資料 †psqlの-cオプション †psqlコマンドに--helpオプションとして渡すと以下のメッセージが表示されます。 $ psql --help psql は PostgreSQL の会話型ターミナルです。 使用方法: psql [オプション]... [データベース名 [ユーザ名]] 一般的なオプション: -c, --command=コマンド (SQLまたは内部の)単一コマンドを一つだけ実行して終了 <省略> つまり、以下のようにすればコマンドラインからSQL文を実行することができます。 psql データベース名 各種接続オプション(ホスト名やユーザ名など) -c 実行したいSQL文 実施前のPostgreSQL環境構築 †-cオプションを試す前に、createdbコマンドによりfooデータベースを作成しました。 $ createdb foo -cオプションでcreate table †SQL文部分をシングルクオートで囲み実行(ダブルクオートでもOK)
-cオプションでINSERT †INSERT文を試してみます。 $ psql foo -c "insert into t1(a, b) values(1,1),(2,2);" INSERT 0 2 -cオプションでSELECT †SELECT文を試してみます。 $ psql foo -c "select * from t1;" a | b ---+--- 1 | 1 2 | 2 (2 行) 以上のように psql の -c オプションによりコマンドラインからSQLを実行することができます。 |