psql(PostgreSQLのコマンドラインクライアント)には\から始まるメタコマンドが数多く用意されている。ここでは目的別に整理し、それぞれの使い方を解説した記事へリンクする。
オブジェクト一覧の確認
- 【PostgreSQL】データベース一覧を確認する
\lでデータベース一覧を確認する。 - 【PostgreSQL】スキーマ一覧を確認する
\dnでスキーマ一覧を確認する。 - 【PostgreSQL】SQLでテーブル一覧を取得する
\dtでテーブル一覧を確認する。 - 【PostgreSQL】テーブル定義とカラム一覧を確認する
\dでテーブル定義とカラム一覧を確認する。 - 【PostgreSQL】指定したテーブルのインデックスを確認する
\dでテーブルのインデックスを確認する。 - 【PostgreSQL】ビュー一覧を確認する
\dvで通常のビュー一覧を確認する。 - 【PostgreSQL】マテリアライズドビュー一覧を確認する
\dmでマテリアライズドビュー一覧とデータ投入状況を確認する。 - 【PostgreSQL】シーケンス一覧を確認する
\dsでシーケンス一覧と現在値を確認する。 - 【PostgreSQL】関数一覧を確認する
\df/\df+で関数一覧と本体のソースコードを確認する。 - 【PostgreSQL】データ型・ドメイン・型キャスト一覧を確認する
\dT/\dD/\dCでデータ型・ドメイン・型キャストの一覧を確認する。 - 【PostgreSQL】ロール・権限一覧を確認する
\du/\dpでロール・権限一覧を確認する。 - 【PostgreSQL】インストール済み拡張機能・手続き言語一覧を確認する
\dx/\dLで拡張機能・手続き言語の一覧を確認する。 - 【PostgreSQL】外部データラッパー(FDW)関連オブジェクトの一覧を確認する
\dew/\des/\deu/\det/\dEでFDW関連オブジェクトの一覧を確認する。 - 【PostgreSQL】全文検索の設定・辞書・パーサ・テンプレート一覧を確認する
\dF/\dFd/\dFp/\dFtで全文検索の関連オブジェクトの一覧を確認する。 - 【PostgreSQL】パーティションテーブル・インデックス一覧を確認する
\dP/\dPt/\dPiでパーティション化されたテーブル・インデックスの一覧を確認する。 - 【PostgreSQL】テーブルスペース・照合順序・イベントトリガーなどマイナーなオブジェクト一覧を確認する
\db/\dO/\dc/\dl/\dy/\dX/\dAでテーブルスペースなどマイナーなオブジェクトの一覧を確認する。
クエリの実行・表示
- 【PostgreSQL】psqlでクエリ結果を縦持ち表示に切り替える
\xで結果を横持ち表示と縦持ち表示(展開表示)の間で切り替える。 - 【PostgreSQL】psqlでクエリの実行時間を計測する
\timingでクエリごとの実行時間を表示する。 - 【PostgreSQL】psqlでクエリを定期的に再実行して監視する
\watchで直前のクエリを一定間隔で繰り返し実行する。 - 【PostgreSQL】psqlでクエリ結果をクロス集計表示する
\crosstabviewでクエリ結果を縦軸・横軸のクロス集計表として表示する。 - 【PostgreSQL】psqlでクエリ結果の出力形式を細かく調整する
\psetでformat・border・null・title・footerなど出力形式の各種オプションを調整する。 - 【PostgreSQL】ページャーを無効にして大量件数の結果でも一度に出力する
\pset pager offでページャーを無効にする。 - 【PostgreSQL】psqlのクエリバッファを各種メタコマンドで活用する
\g/\gx/\gdesc/\gset/\gexecでクエリバッファを実行・保存・変数化する。
データの入出力
- 【PostgreSQL】psqlでクライアント側からCSVを入出力する
\copyでクライアント側のファイルとテーブルの間でCSV/TSVを入出力する。 - 【PostgreSQL】psqlコマンドでcsv, tsv形式のクエリ結果を出力する コマンドラインオプションでクエリ結果をCSV/TSV形式で出力する。
- 【PostgreSQL】psqlコマンドの結果をシェルスクリプトで利用する(psql -qtAF) psqlの実行結果をシェルスクリプトで扱いやすい形式に整形する。
- 【PostgreSQL】psqlでSQLスクリプトを読み込み、出力をファイルへ書き出す
\i/\irでSQLファイルを読み込み、\o/\echo/\qechoで出力先を制御する。 - 【PostgreSQL】標準入力で受け取った構文エラーのSQLをpsqlで実行したときのステータスコードを0以外にする psqlのステータスコードとエラーハンドリングの挙動を確認する。
クエリ・関数の編集
- 【PostgreSQL】psqlでクエリや関数定義をエディタで編集する
\e/\ef/\ev/\sf/\svでクエリバッファや関数・ビュー定義を外部エディタで編集する。
変数・スクリプト制御
- 【PostgreSQL】psqlの変数をset/unset/setenv/getenv/promptで操作する
\set/\unset/\setenv/\getenv/\promptでpsql変数を定義・参照する。 - 【PostgreSQL】psqlスクリプトをifで条件分岐させる
\if/\elif/\else/\endifでスクリプトの実行を条件分岐させる。
接続の管理
- 【PostgreSQL】psqlで接続を切り替え、接続情報を確認する
\c/\conninfo/\password/\encodingで接続先の切り替えや接続情報の確認をする。
\第一線のプログラマーの行動原理を学べる!/
