🐤
PostgreSQLのコマンド(\c, \lとか)を由来から覚える
PostgreSQL の psql 環境で使用するコマンド(メタコマンドと呼ばれます)は、ほとんどが \
で始まるショートカットです。これらのコマンドの由来と意味について解説します。
主なメタコマンドとその由来
\c
- データベースの接続 (connect)
1. -
コマンド:
\c [データベース名]
- 意味: データベースに接続する。
- 由来: connect の頭文字。
-
使用例:
\c mydatabase
\l
- データベースの一覧 (list)
2. -
コマンド:
\l
- 意味: データベースの一覧を表示。
- 由来: list の頭文字。
-
使用例:
\l
\dt
- テーブルの一覧 (display tables)
3. -
コマンド:
\dt
- 意味: 現在のデータベース内のテーブルを一覧表示。
- 由来: display tables の略。
-
使用例:
\dt
\du
- ユーザーの一覧 (display users)
4. -
コマンド:
\du
- 意味: ユーザー(ロール)の一覧を表示。
- 由来: display users の略。
-
使用例:
\du
\dn
- スキーマの一覧 (display namespaces)
5. -
コマンド:
\dn
- 意味: スキーマの一覧を表示。
- 由来: display namespaces の略で、PostgreSQL ではスキーマを「名前空間」として扱うことから。
-
使用例:
\dn
\d
- オブジェクトの詳細 (describe)
6. -
コマンド:
\d [テーブル名]
- 意味: テーブルやビューなどの詳細情報を表示。
- 由来: describe の頭文字。
-
使用例:
\d mytable
\q
- psqlの終了 (quit)
7. -
コマンド:
\q
- 意味: psql を終了する。
- 由来: quit の頭文字。
-
使用例:
\q
\i
- SQLファイルの実行 (include)
8. -
コマンド:
\i [ファイル名]
- 意味: 外部のSQLファイルを実行する。
- 由来: include の頭文字。
-
使用例:
\i myscript.sql
\timing
- 実行時間の表示
9. -
コマンド:
\timing
- 意味: クエリの実行時間を表示するか切り替え。
- 由来: timing からそのまま。
-
使用例:
\timing
\copy
- CSVファイルの入出力 (copy)
10. -
コマンド:
\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