BLOGサブスレッドの日常

2016.07.25

psqlのメタコマンド

torikai

月曜日担当になりました秋山です。よろしくお願いします。
水曜日担当が誰になるのか、水曜日のお楽しみです(圧)。

「社内「今何してる掲示板(仮)」をつくる」はしばらくお休みです。すみません(´・ω・`)

今日のひとネタ

postgreSQL をよく利用するので、お気に入りのメタコマンドとかもあったりして。

あ「\xしてから SELECT で抽出すると見やすくて良いよね」
み「何それ知らない」
み「ブログで書いて!」
あ「ハイ」

ということで

メタコマンド、他にどんなのがあるのかなと興味も湧いたので、\? の結果をまとめてみました。
だいぶ多かったので、個人的に使いそうだなと思うメタコマンドを紹介します。

コマンド 説明
\copyright PostgreSQL の使い方と配布条件を表示
\h [名前] SQL コマンドの文法ヘルプ、* で全コマンド
\q psql を終了する
\watch [SEC] SEC秒毎に問い合わせを実行する
\p 問い合わせバッファの内容を表示する
\r 問い合わせバッファをリセット(クリア)する
\s [ファイル] ヒストリを表示またはファイルに保存する
\w ファイル 問い合わせバッファの内容をファイルに書き出す
\copy ... クライアントホストに対し、データストリームを使ってSQLコピーを行う
\echo [文字列] 文字列を標準出力に書き出す
\i ファイル ファイルからコマンドを読み込んで実行する
\ir ファイル \iと同じ。ただし現在のスクリプトの場所からの相対パス
\o [ファイル] すべての問い合わせの結果をファイルまたは |パイプ へ送る
\qecho [文字列] 文字列を問い合わせ出力ストリームに出力(\o を参照)
\x [on|off|auto] 拡張出力の切り替え(現在: オン)
\encoding [エンコーディング] クライアントのエンコーディングを表示またはセット
\password [ユーザ名] ユーザのパスワードを安全に変更する
\conninfo 現在の接続に関する情報を表示する

データベース、テーブルなどの情報を表示するメタコマンド

(修飾子: S = システムオブジェクトを表示 + = 付加情報)

コマンド 説明
\d[S+] テーブル、ビュー、シーケンスの一覧を表示する
\d[S+] 名前 テーブル、ビュー、シーケンス、インデックスの説明を表示する
\da[S] [パターン] 集約関数の一覧を表示する
\db[+] [パターン] テーブルスペースの一覧を表示する
\ddp [パターン] デフォルト権限の一覧を表示する
\det[+] [パターン] 外部テーブルの一覧を表示する
\dg[+] [パターン] ロールの一覧を表示する
\di[S+] [パターン] インデックスの一覧を表示する
\dn[S+] [パターン] スキーマの一覧を表示する
\dp [パターン] テーブル、ビュー、シーケンスのアクセス権一覧を表示する
\drds [パターン1 [パターン2]] データベース毎のロール(ユーザー)設定の一覧を表示する
\ds[S+] [パターン] シーケンスの一覧を表示する
\dt[S+] [パターン] テーブルの一覧を表示する
\dT[S+] [パターン] データ型の一覧を表示する
\du[+] [パターン] ロールの一覧を表示する
\dv[S+] [パターン] ビューの一覧を表示する
\dE[S+] [パターン] 外部テーブルの一覧を表示する
\l[+] [パターン] データベースの一覧を表示する

いかがでしょうか?
お手元のpsqlでぜひ試したり、どんなメタコマンドがあるか、\?を見てみてください(・ω・)ノ

ではでは!

この記事を書いた人

torikai