psqlとは、対話的にPostgreSQLデータベースを操作するコマンドである。OracleデータベースにおけるSQL*PlusMySQLにおけるMySQLモニタに相当する。psqlを起動するとコマンドプロンプトが表示され、SQL文やメタコマンドを実行できる。

構文

psql [options] [dbname [user]]
dbname

データベース名を指定する。

user

ユーザ名を指定する。ユーザ名は-Uまたは--usernameオプションで指定することもできる。

optionsには次のオプションを指定できる。

-a
-echo-all

-fまたは--fileオプションを指定してpsqlを実行すると、SQLスクリプト(SQL文を記述したテキストファイル)を実行できる。また、\iメタコマンドでもSQLスクリプトを実行できる。通常、SQLスクリプトからの入力(ファイルに記載されているSQL文)は画面に表示されない。

-aまたは-echo-allオプションを指定してpsqlを実行すると、SQLスクリプトからの入力が画面に表示される。

-d dbname

データベース名を指定する。

-f filename
--file=filename

対話的にコマンドを実行するのではなく、filenameで指定したSQLスクリプトファイル(SQLコマンドを記述したテキストファイル)を実行して、psqlを終了する。

-U username
--username=username

デフォルトのユーザではなく username ユーザとしてデータベースに接続する。

psql -U user1 mydb 」は「 psql mydb user1 」と同じ。

メタコマンド

psqlのメタコマンド一覧
コマンド 説明
\a テーブルの出力形式を変更する。
\d データベース内のテーブルを表示する。
\d tablename テーブルの構造を表示する。
\echo text ... 引数を標準出力に出力する。
\i filename SQLスクリプトファイルを実行する。
\o filename 以降の問い合わせの結果をファイルに保存する。
\o command 以降の問い合わせの結果をUnixシェルに渡してコマンドを実行する。
\pset option 問い合わせ結果のテーブル出力に影響するオプションを設定する。
\q psqlを終了する。
\? psqlで使えるコマンドを表示する。

\echo

引数を標準出力に出力する。

\echo text1

複数の引数を指定した場合は空白で区切られる。

\echo text1 text2

最後の引数に-nを指定すると、改行を行わない。

\echo text -n

現在のセッションの自動コミット設定を確認する。

exampledb=> \echo :AUTOCOMMIT
on
exampledb=>
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送