$ psql --help
psql コマンドの使い方
psql は、PostgreSQL に付属する対話型の端末です。SQL のほかに、\で始まるメタコマンドを受け付けます。表の一覧は \dt、表の定義は \d 表名、データベースの一覧は \l、切り替えは \c 名前 です。
このページの出力は、すべて実際に流して得たものです(PostgreSQL 16)。ページの下にある端末で、同じコマンドをそのまま試せます。
よく使うメタコマンド
右の列は、MySQL の端末で近いことをする書き方です。同じ動きをするわけではありません。
| メタコマンド | すること | MySQL で近い書き方 |
|---|---|---|
| \l | データベースの一覧 | SHOW DATABASES |
| \c 名前 | 別のデータベースへつなぎ直す | USE 名前 |
| \dt | 表の一覧 | SHOW TABLES |
| \d 表名 | 表の定義(列・型・索引・制約) | DESCRIBE 表名 |
| \du | ロール(ユーザー)の一覧 | — |
| \dn | スキーマの一覧 | — |
| \df | 関数の一覧 | — |
| \x | 結果を縦に並べる表示に切り替え | \G(文の終わりに付ける) |
| \timing | 実行にかかった時間を表示 | — |
| \i ファイル | ファイルに書いた SQL を実行 | source ファイル |
| \conninfo | いまの接続先を表示 | — |
| \? | メタコマンドの一覧(ヘルプ) | help |
| \q | psql を終える | quit(\q) |
実際の出力
商品(shohin)と注文(chumon)の 2 つの表を作ったデータベース shop で打っています。
$ psql -d shop -c "\dt"
List of relations
Schema | Name | Type | Owner
--------+--------+-------+----------
public | chumon | table | postgres
public | shohin | table | postgres
(2 rows)$ psql -d shop -c "\d chumon"
Table "public.chumon"
Column | Type | Collation | Nullable | Default
-----------+---------+-----------+----------+---------
id | integer | | not null |
shohin_id | integer | | |
qty | integer | | |
Indexes:
"chumon_pkey" PRIMARY KEY, btree (id)
Foreign-key constraints:
"chumon_shohin_id_fkey" FOREIGN KEY (shohin_id) REFERENCES shohin(id)chumon_pkey など)はここで初めて知ることが多いはずです。$ psql -d shop -x -c "SELECT * FROM chumon WHERE id = 1"
-[ RECORD 1 ]
id | 1
shohin_id | 1
qty | 2-x(端末の中では \x)で、1 行を縦に並べて表示します。列が多くて横に収まらないときに使います。$ psql -d shop -c "\timing on" -c "SELECT count(*) FROM chumon"
Timing is on.
count
-------
3
(1 row)
Time: 145.400 ms⚠️ つまずきやすいところ
MySQL の SHOW TABLES は通らない
$ psql -d shop -c "SHOW TABLES"
ERROR: unrecognized configuration parameter "tables"SHOW は設定値を見る命令なので、「tables という設定は無い」と言われます。表の一覧は \dt です。メタコマンドは psql の中でしか使えない
\で始まる命令は、サーバーではなく psql 自身が処理します。そのため、アプリのプログラムや別のツールから送っても通りません。同じ情報が要るときは、システムカタログ(pg_catalog)や information_schema を SQL で引きます。
画面が固まったように見えたら q
psql は出力が長いとページャを開いて入力を待ちます。抜けるには q を押します。最初から使わないなら -P pager=off を付けます。
よく使う起動オプション
| -d 名前 | つなぐデータベース |
| -U 名前 | つなぐユーザー |
| -h ホスト / -p ポート | 別のサーバーへつなぐ |
| -c "命令" | 1 つ実行して終わる。何個でも並べられ、同じ接続で順に実行される |
| -f ファイル | ファイルの SQL を実行して終わる |
| -l | データベースの一覧を出して終わる |
| -x | 結果を縦に並べる(\x と同じ) |
| -P pager=off | ページャを使わない(長い出力で固まらない) |
その場で試す
ブラウザの中で本物の Linux と PostgreSQL が起動します。下の手順を押すと入力欄にコマンドが入るので、中身を読んでから Enter で実行してください。
押すと、ブラウザの中で Linux が起動します
最初に 約 8.7 MB を読み込みます(起動済みの状態の記録)。そのあと、触ったファイルだけを必要に応じて取りに行きます。通信量にご注意ください。
ここで動くソフトウェアの一部は GPL / LGPL です。対応するソースはこちらから取得できます。
起動・設定の変更・バックアップと復元まで試すならブラウザの中の Linuxのページへ。OSS-DB Silver の「標準付属ツールの使い方」に当たる内容です(出題範囲)。
出典
- PostgreSQL 16 マニュアル: psql
- MySQL 8.4 Reference Manual: mysql Client Commands(\G・source・quit)
- MySQL 8.4 Reference Manual: SHOW TABLES Statement
- MySQL 8.4 Reference Manual: SHOW DATABASES Statement
- MySQL 8.4 Reference Manual: USE Statement
- MySQL 8.4 Reference Manual: DESCRIBE Statement
確認日 2026-10-01。下の端末(ブラウザ内 Linux・PostgreSQL 16.15)で実行した出力です。