🐤
PostgreSQLのコマンド(\c, \lとか)を由来から覚える
PostgreSQL の psql 環境で使用するコマンド(メタコマンドと呼ばれます)は、ほとんどが \ で始まるショートカットです。これらのコマンドの由来と意味について解説します。
主なメタコマンドとその由来
1. \c - データベースの接続 (connect)
-
コマンド:
\c [データベース名] - 意味: データベースに接続する。
- 由来: connect の頭文字。
-
使用例:
\c mydatabase
2. \l - データベースの一覧 (list)
-
コマンド:
\l - 意味: データベースの一覧を表示。
- 由来: list の頭文字。
-
使用例:
\l
3. \dt - テーブルの一覧 (display tables)
-
コマンド:
\dt - 意味: 現在のデータベース内のテーブルを一覧表示。
- 由来: display tables の略。
-
使用例:
\dt
4. \du - ユーザーの一覧 (display users)
-
コマンド:
\du - 意味: ユーザー(ロール)の一覧を表示。
- 由来: display users の略。
-
使用例:
\du
5. \dn - スキーマの一覧 (display namespaces)
-
コマンド:
\dn - 意味: スキーマの一覧を表示。
- 由来: display namespaces の略で、PostgreSQL ではスキーマを「名前空間」として扱うことから。
-
使用例:
\dn
6. \d - オブジェクトの詳細 (describe)
-
コマンド:
\d [テーブル名] - 意味: テーブルやビューなどの詳細情報を表示。
- 由来: describe の頭文字。
-
使用例:
\d mytable
7. \q - psqlの終了 (quit)
-
コマンド:
\q - 意味: psql を終了する。
- 由来: quit の頭文字。
-
使用例:
\q
8. \i - SQLファイルの実行 (include)
-
コマンド:
\i [ファイル名] - 意味: 外部のSQLファイルを実行する。
- 由来: include の頭文字。
-
使用例:
\i myscript.sql
9. \timing - 実行時間の表示
-
コマンド:
\timing - 意味: クエリの実行時間を表示するか切り替え。
- 由来: timing からそのまま。
-
使用例:
\timing
10. \copy - CSVファイルの入出力 (copy)
-
コマンド:
\copy [テーブル名] TO|FROM [ファイル名] - 意味: CSVやテキストファイルをデータベースとやり取りする。
- 由来: copy からそのまま。
-
使用例:
\copy mytable TO 'output.csv' CSV HEADER
特殊なメタコマンド
\x - 拡張表示 (expanded display)
-
コマンド:
\x - 意味: テーブルの出力形式を拡張表示に切り替える(縦方向に表示)。
-
使用例:
\x SELECT * FROM mytable;
\h - SQLコマンドのヘルプ (help)
-
コマンド:
\h [SQLコマンド] - 意味: SQLコマンドの使い方を表示。
-
使用例:
\h SELECT
\? - メタコマンドのヘルプ
-
コマンド:
\? - 意味: すべてのメタコマンドのヘルプを表示。
-
使用例:
\?
まとめ
PostgreSQL のメタコマンドは、直感的に理解しやすい単語の頭文字や略語 に基づいている。psql を効率的に使うために、これらのメタコマンドを覚えると非常に便利。
-
データベース接続:
\c(connect) -
一覧表示:
\l(list)、\dt(display tables) -
詳細表示:
\d(describe) -
終了:
\q(quit) -
ファイル実行:
\i(include)
Discussion