はじめに
Postgresは結構\
(バックスラッシュ)で始まるコマンドがあるが、インタネットを調べた限り、どこにもその一覧を出しておりません。備忘録を兼ねて、ポスグレのヘルプを貼ります。
この一覧を出すには、\h
ではなく\?
です。また、OSのターミナルでpsql -?
コマンドを打つと、psql
コマンドで使えるオプションが表示されます。
日本語版(PostgreSQL 9.3.5)
\?
オプションズ
postgres=# \?
一般
\copyright PostgreSQL の使い方と配布条件を表示
\g [ファイル] または ';' 問い合わせを実行(し、結果をファイルまたは |パイプ へ書き出す)
\gset [PREFIX] 問い合わせを実行し結果をpsql変数に格納
\h [名前] SQL コマンドの文法ヘルプ、* で全コマンド
\q psql を終了する
\watch [SEC] SEC秒毎に問い合わせを実行する
問い合わせバッファ
\e [ファイル] [行番号] 現在の問い合わせバッファ(やファイル)を外部エディタで編集する
\e [関数名 [行番号]] 関数定義を外部エディタで編集する
\p 問い合わせバッファの内容を表示する
\r 問い合わせバッファをリセット(クリア)する
\s [ファイル] ヒストリを表示またはファイルに保存する
\w ファイル 問い合わせバッファの内容をファイルに書き出す
入出力
\copy ... クライアントホストに対し、データストリームを使ってSQLコピーを行う
\echo [文字列] 文字列を標準出力に書き出す
\i ファイル ファイルからコマンドを読み込んで実行する
\ir ファイル \iと同じ。ただし現在のスクリプトの場所からの相対パス
\o [ファイル] すべての問い合わせの結果をファイルまたは |パイプ へ送る
\qecho [文字列] 文字列を問い合わせ出力ストリームに出力(\o を参照)
情報
(修飾子: S = システムオブジェクトを表示 + = 付加情報)
\d[S+] テーブル、ビュー、シーケンスの一覧を表示する
\d[S+] 名前 テーブル、ビュー、シーケンス、インデックスの説明を表示する
\da[S] [パターン] 集約関数の一覧を表示する
\db[+] [パターン] テーブルスペースの一覧を表示する
\dc[S+] [パターン] 変換ルールの一覧を表示する
\dC[+] [パターン] キャストの一覧を表示する
\dd[S] [パターン] 他では表示されないオブジェクトの説明を表示する
\ddp [パターン] デフォルト権限の一覧を表示する
\dD[S+] [パターン] ドメインの一覧を表示する
\det[+] [パターン] 外部テーブルの一覧を表示する
\des[+] [パターン] 外部サーバーの一覧を表示する
\deu[+] [パターン] ユーザマッピングの一覧を表示する
\dew[+] [パターン] 外部データラッパーの一覧を表示する
\df[antw][S+] [パターン] 関数(集約/通常/トリガー/ウィンドウのみ)の一覧を表示する
\dF[+] [パターン] テキスト検索設定の一覧を表示する
\dFd[+] [パターン] テキスト検索用辞書の一覧を表示する
\dFp[+] [パターン] テキスト検索用パーサーの一覧を表示する
\dFt[+] [パターン] テキスト検索用テンプレートの一覧を表示する
\dg[+] [パターン] ロールの一覧を表示する
\di[S+] [パターン] インデックスの一覧を表示する
\dl ラージオブジェクトの一覧を表示する。\lo_list と同じ。
\dL[S+] [パターン] 手続き言語の一覧を表示する
\dm[S+] [パターン] マテリアライズドビューの一覧を表示する
\dn[S+] [パターン] スキーマの一覧を表示する
\do[S] [名前] 演算子の一覧を表示する
\dD[S+] [パターン] 照合順序の一覧を表示する
\dp [パターン] テーブル、ビュー、シーケンスのアクセス権一覧を表示する
\drds [パターン1 [パターン2]] データベース毎のロール(ユーザー)設定の一覧を表示する
\ds[S+] [パターン] シーケンスの一覧を表示する
\dt[S+] [パターン] テーブルの一覧を表示する
\dT[S+] [パターン] データ型の一覧を表示する
\du[+] [パターン] ロールの一覧を表示する
\dv[S+] [パターン] ビューの一覧を表示する
\dE[S+] [パターン] 外部テーブルの一覧を表示する
\dx[+] [パターン] 拡張の一覧を表示する
\dy [パターン] イベントトリガの一覧を表示する
\l[+] [パターン] データベースの一覧を表示する
\sf[+] 関数名 関数定義を表示する
\z [パターン] \dp と同じ
書式設定
\a 出力モードの 'unaligned' / 'aligned' を切り替える
\C タイトル テーブルのタイトルを設定する。指定がなければ解除
\f [文字列] 桁揃えを行わない(unaligned)問い合わせ出力におけるフィールド区切り文字を表示または設定
\H HTML の出力モードを切り替える(現在: オフ)
\pset 名前 [値] テーブル出力のオプションを設定する
(名前 := {format|border|expanded|fieldsep|fieldsep_zero|footer|null|
numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager})
\t [on|off] 行のみを表示するか? (現在: オフ)
\T [文字列] HTML の <table> タグの属性をセット。引数がなければ解除
\x [on|off|auto] 拡張出力の切り替え(現在: オフ)
接続
\c[onnect] [DB名|- ユーザ名|- ホスト名|- ポート番号|-]
新しいデータベースに接続する (現在: "postgres")
\encoding [エンコーディング]
クライアントのエンコーディングを表示またはセット
\password [ユーザ名] ユーザのパスワードを安全に変更する
\conninfo 現在の接続に関する情報を表示する
オペレーティングシステム
\cd [DIR] カレントディレクトリを変更
\setenv NAME [VALUE] 環境変数の設定、設定解除を行う
\timing [on|off] コマンドのタイミングを切り替える(現在: オフ)
\! [コマンド] シェルでコマンドを実行、もしくは会話型シェルを起動
変数
\prompt [テキスト] 変数名 ユーザに内部変数をセットするよう促す
\set [変数名 [値]]
内部変数の値をセット。引数がない場合は一覧表示。
\unset 変数名 内部変数を削除する
ラージオブジェクト
\lo_export LOBOID ファイル名
\lo_import ファイル名 [コメント]
\lo_list
\lo_unlink LOBOID ラージオブジェクトの操作
psql -?
オプションズ
# psql -?
psql は PostgreSQL の会話型ターミナルです。
使用方法:
psql [オプション]... [データベース名 [ユーザ名]]
一般的なオプション:
-c, --command=コマンド (SQLまたは内部の)単一コマンドを一つだけ実行して終了
-d, --dbname=DB名 接続するデータベース名を指定(デフォルト: "postgres")
-f, --file=ファイル名 ファイルからコマンドを読み込んで実行後、終了
-l(エル), --list 使用可能なデータベース一覧を表示して終了
-v, --set=, --variable=名前=値
psql 変数 '名前' に '値' をセット
-V, --version バージョン情報を表示し、終了します
-X, --no-psqlrc 初期化ファイル (~/.psqlrc) を読みこまない
-1(数字の1), --single-transaction
単一のトランザクションとして実行(対話式でない場合)
-?, --help このヘルプを表示し、終了します
入出力オプション:
-a, --echo-all スクリプトからのすべての入力を表示
-e, --echo-queries サーバーへ送信したコマンドを表示
-E, --echo-hidden 内部コマンドが生成した問い合わせを表示
-L, --log-file=ファイル名 セッションログをファイルに書き込む
-n, --no-readline 拡張コマンドライン編集機能(readline)を無効にする
-o, --output=ファイル名 問い合わせ結果をファイル(または |パイプ)に送る
-q, --quiet 静かに実行(メッセージなしで、問い合わせの出力のみ)
-s, --single-step シングルステップモード(各問い合わせごとに確認)
-S, --single-line 単一行モード(行末を SQL コマンドの終了とみなす)
出力フォーマットオプション:
-A, --no-align 桁揃えなしのテーブル出力モード
-F, --field-separator=文字列
フィールド区切り文字を設定(デフォルト: "|")
-H, --html HTML テーブル出力モード
-P, --pset=変数[=値] 表示オプション '変数' を '値' にセット (\pset コマンドを参照)
-R, --record-separator=文字列
レコード区切り文字を設定(デフォルト:改行)
-t, --tuples-only 行のみを表示
-T, --table-attr=TEXT HTMLテーブルのタグ属性をセット(width, border等)
-x, --expanded 拡張テーブル出力を有効にする
-F, --field-separator-zero
区切り文字をゼロバイトに設定
-R, --record-separator-zero
レコード区切り文字をゼロバイトに設定
接続オプション:
-h, --host=ホスト名 データベースサーバーのホストまたはソケットのディレクトリ(デフォルト: "ローカルソケット")
-p, --port=ポート番号 データベースサーバーのポート番号(デフォルト: "5432")
-U, --username=ユーザー名 データベースのユーザ名(デフォルト: "postgres")
-w, --no-password パスワード入力を要求しない
-W, --password パスワードプロンプトを強制表示する
(本来は自動的に表示されるはずです)
詳細は psql の中で "\?" (内部コマンドの場合) または "\help"
(SQL コマンドの場合) をタイプするか、PostgreSQL ドキュメントの psql の
セクションを参照のこと。
不具合は<pgsql-bugs@postgresql.org>まで報告してください。
English Version (PostgreSQL 9.5.1)
\?
Options
postgres=# \?
General
\copyright show PostgreSQL usage and distribution terms
\g [FILE] or ; execute query (and send results to file or |pipe)
\gset [PREFIX] execute query and store results in psql variables
\q quit psql
\watch [SEC] execute query every SEC seconds
Help
\? [commands] show help on backslash commands
\? options show help on psql command-line options
\? variables show help on special variables
\h [NAME] help on syntax of SQL commands, * for all commands
Query Buffer
\e [FILE] [LINE] edit the query buffer (or file) with external editor
\ef [FUNCNAME [LINE]] edit function definition with external editor
\p show the contents of the query buffer
\r reset (clear) the query buffer
\s [FILE] display history or save it to file
\w FILE write query buffer to file
Input/Output
\copy ... perform SQL COPY with data stream to the client host
\echo [STRING] write string to standard output
\i FILE execute commands from file
\ir FILE as \i, but relative to location of current script
\o [FILE] send all query results to file or |pipe
\qecho [STRING] write string to query output stream (see \o)
Informational
(options: S = show system objects, + = additional detail)
\d[S+] list tables, views, and sequences
\d[S+] NAME describe table, view, sequence, or index
\da[S] [PATTERN] list aggregates
\db[+] [PATTERN] list tablespaces
\dc[S+] [PATTERN] list conversions
\dC[+] [PATTERN] list casts
\dd[S] [PATTERN] show object descriptions not displayed elsewhere
\ddp [PATTERN] list default privileges
\dD[S+] [PATTERN] list domains
\det[+] [PATTERN] list foreign tables
\des[+] [PATTERN] list foreign servers
\deu[+] [PATTERN] list user mappings
\dew[+] [PATTERN] list foreign-data wrappers
\df[antw][S+] [PATRN] list [only agg/normal/trigger/window] functions
\dF[+] [PATTERN] list text search configurations
\dFd[+] [PATTERN] list text search dictionaries
\dFp[+] [PATTERN] list text search parsers
\dFt[+] [PATTERN] list text search templates
\dg[+] [PATTERN] list roles
\di[S+] [PATTERN] list indexes
\dl list large objects, same as \lo_list
\dL[S+] [PATTERN] list procedural languages
\dm[S+] [PATTERN] list materialized views
\dn[S+] [PATTERN] list schemas
\do[S] [PATTERN] list operators
\dO[S+] [PATTERN] list collations
\dp [PATTERN] list table, view, and sequence access privileges
\drds [PATRN1 [PATRN2]] list per-database role settings
\ds[S+] [PATTERN] list sequences
\dt[S+] [PATTERN] list tables
\dT[S+] [PATTERN] list data types
\du[+] [PATTERN] list roles
\dv[S+] [PATTERN] list views
\dE[S+] [PATTERN] list foreign tables
\dx[+] [PATTERN] list extensions
\dy [PATTERN] list event triggers
\l[+] [PATTERN] list databases
\sf[+] FUNCNAME show a function's definition
\z [PATTERN] same as \dp
Formatting
\a toggle between unaligned and aligned output mode
\C [STRING] set table title, or unset if none
\f [STRING] show or set field separator for unaligned query output
\H toggle HTML output mode (currently off)
\pset [NAME [VALUE]] set table output option
(NAME := {format|border|expanded|fieldsep|fieldsep_zero|footer|null|
numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager|
unicode_border_linestyle|unicode_column_linestyle|unicode_header_linestyle})
\t [on|off] show only rows (currently off)
\T [STRING] set HTML <table> tag attributes, or unset if none
\x [on|off|auto] toggle expanded output (currently off)
Connection
\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
connect to new database (currently "postgres")
\encoding [ENCODING] show or set client encoding
\password [USERNAME] securely change the password for a user
\conninfo display information about current connection
Operating System
\cd [DIR] change the current working directory
\setenv NAME [VALUE] set or unset environment variable
\timing [on|off] toggle timing of commands (currently off)
\! [COMMAND] execute command in shell or start interactive shell
Variables
\prompt [TEXT] NAME prompt user to set internal variable
\set [NAME [VALUE]] set internal variable, or list all if no parameters
\unset NAME unset (delete) internal variable
Large Objects
\lo_export LOBOID FILE
\lo_import FILE [COMMENT]
\lo_list
\lo_unlink LOBOID large object operations
psql -?
Options
# psql -?
psql is the PostgreSQL interactive terminal.
Usage:
psql [OPTION]... [DBNAME [USERNAME]]
General options:
-c, --command=COMMAND run only single command (SQL or internal) and exit
-d, --dbname=DBNAME database name to connect to (default: "postgres")
-f, --file=FILENAME execute commands from file, then exit
-l, --list list available databases, then exit
-v, --set=, --variable=NAME=VALUE
set psql variable NAME to VALUE
(e.g., -v ON_ERROR_STOP=1)
-V, --version output version information, then exit
-X, --no-psqlrc do not read startup file (~/.psqlrc)
-1 ("one"), --single-transaction
execute as a single transaction (if non-interactive)
-?, --help[=options] show this help, then exit
--help=commands list backslash commands, then exit
--help=variables list special variables, then exit
Input and output options:
-a, --echo-all echo all input from script
-b, --echo-errors echo failed commands
-e, --echo-queries echo commands sent to server
-E, --echo-hidden display queries that internal commands generate
-L, --log-file=FILENAME send session log to file
-n, --no-readline disable enhanced command line editing (readline)
-o, --output=FILENAME send query results to file (or |pipe)
-q, --quiet run quietly (no messages, only query output)
-s, --single-step single-step mode (confirm each query)
-S, --single-line single-line mode (end of line terminates SQL command)
Output format options:
-A, --no-align unaligned table output mode
-F, --field-separator=STRING
field separator for unaligned output (default: "|")
-H, --html HTML table output mode
-P, --pset=VAR[=ARG] set printing option VAR to ARG (see \pset command)
-R, --record-separator=STRING
record separator for unaligned output (default: newline)
-t, --tuples-only print rows only
-T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)
-x, --expanded turn on expanded table output
-z, --field-separator-zero
set field separator for unaligned output to zero byte
-0, --record-separator-zero
set record separator for unaligned output to zero byte
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "local socket")
-p, --port=PORT database server port (default: "5432")
-U, --username=USERNAME database user name (default: "psotgres")
-w, --no-password never prompt for password
-W, --password force password prompt (should happen automatically)
For more information, type "\?" (for internal commands) or "\help" (for SQL
commands) from within psql, or consult the psql section in the PostgreSQL
documentation.
Report bugs to <pgsql-bugs@postgresql.org>.
おまけ:\h
コマンドの出力
psql (9.3.5)
postgres=# \h
利用可能なヘルプ:
ABORT ALTER ROLE CLUSTER CREATE OPERATOR DEALLOCATE DROP OPERATOR END ROLLBACK PREPARED
ALTER AGGREGATE ALTER RULE COMMENT CREATE OPERATOR CLASS DECLARE DROP OPERATOR CLASS EXECUTE ROLLBACK TO SAVEPOINT
ALTER COLLATION ALTER SCHEMA COMMIT CREATE OPERATOR FAMILY DELETE DROP OPERATOR FAMILY EXPLAIN SAVEPOINT
ALTER CONVERSION ALTER SEQUENCE COMMIT PREPARED CREATE ROLE DISCARD DROP OWNED FETCH SECURITY LABEL
ALTER DATABASE ALTER SERVER COPY CREATE RULE DO DROP ROLE GRANT SELECT
ALTER DEFAULT PRIVILEGES ALTER TABLE CREATE AGGREGATE CREATE SCHEMA DROP AGGREGATE DROP RULE INSERT SELECT INTO
ALTER DOMAIN ALTER TABLESPACE CREATE CAST CREATE SEQUENCE DROP CAST DROP SCHEMA LISTEN SET
ALTER EVENT TRIGGER ALTER TEXT SEARCH CONFIGURATION CREATE COLLATION CREATE SERVER DROP COLLATION DROP SEQUENCE LOAD SET CONSTRAINTS
ALTER EXTENSION ALTER TEXT SEARCH DICTIONARY CREATE CONVERSION CREATE TABLE DROP CONVERSION DROP SERVER LOCK SET ROLE
ALTER FOREIGN DATA WRAPPER ALTER TEXT SEARCH PARSER CREATE DATABASE CREATE TABLE AS DROP DATABASE DROP TABLE MOVE SET SESSION AUTHORIZATION
ALTER FOREIGN TABLE ALTER TEXT SEARCH TEMPLATE CREATE DOMAIN CREATE TABLESPACE DROP DOMAIN DROP TABLESPACE NOTIFY SET TRANSACTION
ALTER FUNCTION ALTER TRIGGER CREATE EVENT TRIGGER CREATE TEXT SEARCH CONFIGURATION DROP EVENT TRIGGER DROP TEXT SEARCH CONFIGURATION PREPARE SHOW
ALTER GROUP ALTER TYPE CREATE EXTENSION CREATE TEXT SEARCH DICTIONARY DROP EXTENSION DROP TEXT SEARCH DICTIONARY PREPARE TRANSACTION START TRANSACTION
ALTER INDEX ALTER USER CREATE FOREIGN DATA WRAPPER CREATE TEXT SEARCH PARSER DROP FOREIGN DATA WRAPPER DROP TEXT SEARCH PARSER REASSIGN OWNED TABLE
ALTER LANGUAGE ALTER USER MAPPING CREATE FOREIGN TABLE CREATE TEXT SEARCH TEMPLATE DROP FOREIGN TABLE DROP TEXT SEARCH TEMPLATE REFRESH MATERIALIZED VIEW TRUNCATE
ALTER LARGE OBJECT ALTER VIEW CREATE FUNCTION CREATE TRIGGER DROP FUNCTION DROP TRIGGER REINDEX UNLISTEN
ALTER MATERIALIZED VIEW ANALYZE CREATE GROUP CREATE TYPE DROP GROUP DROP TYPE RELEASE SAVEPOINT UPDATE
ALTER OPERATOR BEGIN CREATE INDEX CREATE USER DROP INDEX DROP USER RESET VACUUM
ALTER OPERATOR CLASS CHECKPOINT CREATE LANGUAGE CREATE USER MAPPING DROP LANGUAGE DROP USER MAPPING REVOKE VALUES
ALTER OPERATOR FAMILY CLOSE CREATE MATERIALIZED VIEW CREATE VIEW DROP MATERIALIZED VIEW DROP VIEW ROLLBACK WITH
psql (9.5.1)
postgres=# \h
Available help:
ABORT ALTER ROLE CLUSTER CREATE OPERATOR CLASS DEALLOCATE DROP OPERATOR CLASS END ROLLBACK PREPARED
ALTER AGGREGATE ALTER RULE COMMENT CREATE OPERATOR FAMILY DECLARE DROP OPERATOR FAMILY EXECUTE ROLLBACK TO SAVEPOINT
ALTER COLLATION ALTER SCHEMA COMMIT CREATE POLICY DELETE DROP OWNED EXPLAIN SAVEPOINT
ALTER CONVERSION ALTER SEQUENCE COMMIT PREPARED CREATE ROLE DISCARD DROP POLICY FETCH SECURITY LABEL
ALTER DATABASE ALTER SERVER COPY CREATE RULE DO DROP ROLE GRANT SELECT
ALTER DEFAULT PRIVILEGES ALTER SYSTEM CREATE AGGREGATE CREATE SCHEMA DROP AGGREGATE DROP RULE IMPORT FOREIGN SCHEMA SELECT INTO
ALTER DOMAIN ALTER TABLE CREATE CAST CREATE SEQUENCE DROP CAST DROP SCHEMA INSERT SET
ALTER EVENT TRIGGER ALTER TABLESPACE CREATE COLLATION CREATE SERVER DROP COLLATION DROP SEQUENCE LISTEN SET CONSTRAINTS
ALTER EXTENSION ALTER TEXT SEARCH CONFIGURATION CREATE CONVERSION CREATE TABLE DROP CONVERSION DROP SERVER LOAD SET ROLE
ALTER FOREIGN DATA WRAPPER ALTER TEXT SEARCH DICTIONARY CREATE DATABASE CREATE TABLE AS DROP DATABASE DROP TABLE LOCK SET SESSION AUTHORIZATION
ALTER FOREIGN TABLE ALTER TEXT SEARCH PARSER CREATE DOMAIN CREATE TABLESPACE DROP DOMAIN DROP TABLESPACE MOVE SET TRANSACTION
ALTER FUNCTION ALTER TEXT SEARCH TEMPLATE CREATE EVENT TRIGGER CREATE TEXT SEARCH CONFIGURATION DROP EVENT TRIGGER DROP TEXT SEARCH CONFIGURATION NOTIFY SHOW
ALTER GROUP ALTER TRIGGER CREATE EXTENSION CREATE TEXT SEARCH DICTIONARY DROP EXTENSION DROP TEXT SEARCH DICTIONARY PREPARE START TRANSACTION
ALTER INDEX ALTER TYPE CREATE FOREIGN DATA WRAPPER CREATE TEXT SEARCH PARSER DROP FOREIGN DATA WRAPPER DROP TEXT SEARCH PARSER PREPARE TRANSACTION TABLE
ALTER LANGUAGE ALTER USER CREATE FOREIGN TABLE CREATE TEXT SEARCH TEMPLATE DROP FOREIGN TABLE DROP TEXT SEARCH TEMPLATE REASSIGN OWNED TRUNCATE
ALTER LARGE OBJECT ALTER USER MAPPING CREATE FUNCTION CREATE TRANSFORM DROP FUNCTION DROP TRANSFORM REFRESH MATERIALIZED VIEW UNLISTEN
ALTER MATERIALIZED VIEW ALTER VIEW CREATE GROUP CREATE TRIGGER DROP GROUP DROP TRIGGER REINDEX UPDATE
ALTER OPERATOR ANALYZE CREATE INDEX CREATE TYPE DROP INDEX DROP TYPE RELEASE SAVEPOINT VACUUM
ALTER OPERATOR CLASS BEGIN CREATE LANGUAGE CREATE USER DROP LANGUAGE DROP USER RESET VALUES
ALTER OPERATOR FAMILY CHECKPOINT CREATE MATERIALIZED VIEW CREATE USER MAPPING DROP MATERIALIZED VIEW DROP USER MAPPING REVOKE WITH
ALTER POLICY CLOSE CREATE OPERATOR CREATE VIEW DROP OPERATOR DROP VIEW ROLLBACK