PostgreSQLのpsqlコマンドについて
開始・終了
psqlコマンドをつかってローカルのPostgreSQLに接続する場合、以下のようになります。
psql -U [ユーザー名] -d [接続するデータベース名]
接続先PostgreSQLサーバーが別サーバーの場合、オプション"-h"または"--host="で指定します。
psql -U [ユーザー名] -h [サーバーP] -d [接続するデータベース名]
PostgreSQLサーバーが192.168.1.10、接続ユーザーがaduser、接続先データベースがtestdbの場合
$ psql -U aduser -h 192.168.1.10 -d testdb
-
終了
psqlの終了コマンドは、"\q"になります。"\q"を入力してEnterキーを押せば終了します。
postgres=# \q
コマンド
psqlは、SQLの実行以外に固有のコマンドを実行することができます。
-
ヘルプ
psqlコマンドのヘルプは、"\?"になります。 実行すると以下のようなコマンド一覧が表示されます。
postgres=# \? 一般 \copyright PostgreSQL の使い方と配布条件を表示 \g [ファイル] または ';' 問い合わせを実行(し、結果をファイルまたは |パイプ へ書き出す) \gset [PREFIX] 問い合わせを実行し結果をpsql変数に格納 \q psql を終了する \watch [SEC] SEC秒毎に問い合わせを実行する Help \? [commands] show help on backslash commands \? options show help on psql command-line options \? variables show help on special variables \h [名前] SQL コマンドの文法ヘルプ、* で全コマンド ... ... ラージオブジェクト \lo_export LOBOID ファイル名 \lo_import ファイル名 [コメント] \lo_list \lo_unlink LOBOID ラージオブジェクトの操作
データベース一覧表示
データベースの一覧を表示するコマンドは、"\l"(Lの小文字)になります。
postgres=# \l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権 -----------+----------+------------------+-------------+-------------------+----------------------- ksdb_dev | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres testdb | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | (5 行)
テーブル一覧表示
現在接続しているデータベースのテーブル一覧を表示するコマンドは、"\d"になります。 データベースtestdbに、3個のテーブルcomments, prefectures, usersがある場合、以下のような表示になります。
testdb=# \d リレーションの一覧 スキーマ | 名前 | 型 | 所有者 ----------+-----------------+------------+---------- public | comments | テーブル | postgres public | comments_id_seq | シーケンス | postgres public | prefectures | テーブル | postgres public | users | テーブル | testdb public | users_id_seq | シーケンス | testdb (5 行)
データベースを指定せずに接続した場合、"リレーションがありません。"とだけ表示されます。
$ psql -U postgres ユーザ postgres のパスワード: psql (9.5.7) "help" でヘルプを表示します. postgres=# \d リレーションがありません。
表示方法の縦・横の切り替え(拡張出力)
"\x"で拡張出力をオンにできます。 拡張出力がオンになると、以下のように表示項目が縦に表示されるようになります。 psqlで接続した直後、拡張出力はデフォルトのオフになっています。
postgres=# \d リレーションの一覧 -[ RECORD 1 ]------------- スキーマ | public 名前 | comments 型 | テーブル 所有者 | postgres -[ RECORD 2 ]------------- スキーマ | public 名前 | comments_id_seq 型 | シーケンス 所有者 | postgres -[ RECORD 3 ]------------- スキーマ | public 名前 | prefectures 型 | テーブル 所有者 | postgres -[ RECORD 4 ]------------- スキーマ | public 名前 | users 型 | テーブル 所有者 | testdb -[ RECORD 5 ]------------- スキーマ | public 名前 | users_id_seq 型 | シーケンス 所有者 | testdb元のオフにする場合は、"\x"を再度実行します。