LoginSignup
0
0

初めに

Qiita Engineer Festa 2024が開催されました!早速参加。そしてやるならば完走賞を目指していきます。
そのためにPostgreSQLで利用できるメタコマンドについて利用も含めて他の記事に纏めていきます。この記事にはメタコマンドと簡単な説明の一覧を纏めておきました。
随時コマンド名にリンクを追加してきますのでご活用ください。

環境

PostgreSQL 15.6

メタコマンド一覧

General

コマンド 説明
\copyright PostgreSQLの使用と配布条件を表示
\crosstabview [COLUMNS] クエリを実行し、結果をクロス集計表形式で表示
\errverbose 直近のエラーメッセージを最大限の詳細で表示
\g [(OPTIONS)] [FILE] クエリを実行し、結果をファイルまたはパイプに送信
\gdesc クエリの結果を実行せずに説明
\gexec クエリを実行し、結果の各値を個別に実行
\gset [PREFIX] クエリを実行し、結果をpsql変数に格納
\gx [(OPTIONS)] [FILE] \gと同様だが、強制的に拡張出力モードを使用
\q psqlを終了
\watch [SEC] クエリを指定秒数ごとに実行

Help

コマンド 説明
\? [commands] メタコマンドのヘルプを表示
\? options psqlのコマンドラインオプションのヘルプを表示
\? variables 特殊変数のヘルプを表示
\h [NAME] SQLコマンドの構文に関するヘルプを表示、すべてのコマンドは*

Query Buffer

コマンド 説明
\e [FILE] [LINE] 外部エディタでクエリバッファ(またはファイル)を編集
\ef [FUNCNAME [LINE]] 外部エディタで関数定義を編集
\ev [VIEWNAME [LINE]] 外部エディタでビュー定義を編集
\p クエリバッファの内容を表示
\r クエリバッファをリセット(クリア)
\s [FILE] 履歴を表示またはファイルに保存
\w FILE クエリバッファをファイルに書き出す

Input/Output

コマンド 説明
\copy ... クライアントホストへのデータストリームを伴うSQL COPYを実行
\echo [-n] [STRING] 標準出力に文字列を書き込む(-nで改行なし)
\i FILE ファイルからコマンドを実行
\ir FILE \iと同様だが、現在のスクリプトの場所から相対的に
\o [FILE] すべてのクエリ結果をファイルまたはパイプに送信
\qecho [-n] [STRING] \o出力ストリームに文字列を書き込む(-nで改行なし)
\warn [-n] [STRING] 標準エラー出力に文字列を書き込む(-nで改行なし)

Conditional

コマンド 説明
\if EXPR 条件付きブロックを開始
\elif EXPR 現在の条件付きブロック内の代替
\else 現在の条件付きブロック内の最終代替
\endif 条件付きブロックを終了

Informational

コマンド 説明
\d[S+] テーブル、ビュー、シーケンスを一覧表示
\d[S+] NAME テーブル、ビュー、シーケンス、インデックスの説明を表示
\da[S] [PATTERN] 集約関数を一覧表示
\dA[+] [PATTERN] アクセスメソッドを一覧表示
\dAc[+] [AMPTRN [TYPEPTRN]] 演算子クラスを一覧表示
\dAf[+] [AMPTRN [TYPEPTRN]] 演算子ファミリーを一覧表示
\dAo[+] [AMPTRN [OPFPTRN]] 演算子ファミリーの演算子を一覧表示
\dAp[+] [AMPTRN [OPFPTRN]] 演算子ファミリーのサポート関数を一覧表示
\db[+] [PATTERN] テーブルスペースを一覧表示
\dc[S+] [PATTERN] 変換を一覧表示
\dconfig[+] [PATTERN] 設定パラメータを一覧表示
\dC[+] [PATTERN] キャストを一覧表示
\dd[S] [PATTERN] 他の場所で表示されないオブジェクト説明を表示
\dD[S+] [PATTERN] ドメインを一覧表示
\ddp [PATTERN] デフォルト権限を一覧表示
\dE[S+] [PATTERN] 外部テーブルを一覧表示
\des[+] [PATTERN] 外部サーバを一覧表示
\det[+] [PATTERN] 外部テーブルを一覧表示
\deu[+] [PATTERN] ユーザーマッピングを一覧表示
\dew[+] [PATTERN] 外部データラッパーを一覧表示
\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]] [集約/通常/プロシージャ/トリガー/ウィンドウ]関数のみを一覧表示
\dF[+] [PATTERN] テキスト検索設定を一覧表示
\dFd[+] [PATTERN] テキスト検索辞書を一覧表示
\dFp[+] [PATTERN] テキスト検索パーサーを一覧表示
\dFt[+] [PATTERN] テキスト検索テンプレートを一覧表示
\dg[S+] [PATTERN] ロールを一覧表示
\di[S+] [PATTERN] インデックスを一覧表示
\dl[+] ラージオブジェクトを一覧表示(\lo_listと同じ)
\dL[S+] [PATTERN] プロシージャ言語を一覧表示
\dm[S+] [PATTERN] マテリアライズドビューを一覧表示
\dn[S+] [PATTERN] スキーマを一覧表示
\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]] 演算子を一覧表示
\dO[S+] [PATTERN] 照合を一覧表示
\dp [PATTERN] テーブル、ビュー、シーケンスのアクセス権限を一覧表示
\dP[itn+] [PATTERN] [インデックス/テーブル]のパーティション分割リレーションを一覧表示 [n=ネスト]
\drds [ROLEPTRN [DBPTRN]] データベースごとのロール設定を一覧表示
\dRp[+] [PATTERN] レプリケーション出版を一覧表示
\dRs[+] [PATTERN] レプリケーションサブスクリプションを一覧表示
\ds[S+] [PATTERN] シーケンスを一覧表示
\dt[S+] [PATTERN] テーブルを一覧表示
\dT[S+] [PATTERN] データ型を一覧表示
\du[S+] [PATTERN] ロールを一覧表示
\dv[S+] [PATTERN] ビューを一覧表示
\dx[+] [PATTERN] 拡張機能を一覧表示
\dX [PATTERN] 拡張統計を一覧表示
\dy[+] [PATTERN] イベントトリガーを一覧表示
\l[+] [PATTERN] データベースを一覧表示
\sf[+] FUNCNAME 関数の定義を表示
\sv[+] VIEWNAME ビューの定義を表示
\z [PATTERN] \dpと同じ

Large Objects

コマンド 説明
\lo_export LOBOID FILE ラージオブジェクトをファイルに書き出す
\lo_import FILE [COMMENT] ファイルからラージオブジェクトを読み込む
\lo_list[+] ラージオブジェクトを一覧表示
\lo_unlink LOBOID ラージオブジェクトを削除

Formatting

コマンド 説明
\a 非整列モードと整列モードを切り替える
\C [STRING] テーブルタイトルを設定または解除
\f [STRING] 非整列クエリ出力のフィールドセパレータを表示または設定
\H HTML出力モードを切り替え(現在はオフ)
\pset [NAME [VALUE]] テーブル出力オプションを設定
\t [on | off] 行のみを表示 (現在オフ)
\T [STRING] HTMLの<table>タグの属性を設定または解除
\x [on | off] 拡張出力を切り替えます (現在オフ)

Connection

コマンド 説明
\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} connect to new database (currently "xxx")
\conninfo 現在の接続情報を表示
\encoding [ENCODING] クライアントエンコーディングを表示または設定
\password [USERNAME] ユーザーのパスワードを安全に変更

Operating System

コマンド 説明
\cd [DIR] 現在の作業ディレクトリを変更
\getenv PSQLVAR ENVVAR 環境変数を取得
\setenv NAME [VALUE] 環境変数を設定または解除
\timing [on | off] コマンドのタイミングを切り替える (現在オフ)
\! [COMMAND] シェルでコマンドを実行またはインタラクティブシェルを開始

Variables

コマンド 説明
\prompt [TEXT] NAME ユーザーに内部変数を設定するよう促す
\set [NAME [VALUE]] 内部変数を設定またはパラメータがない場合はすべて一覧表示
\unset NAME 内部変数を解除(削除)

参考

PostgreSQL 15.4:psql

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0