PostgreSQL 接続・切断コマンド

 

2020年01月21日

 

 

目次

  1. 前提条件
  2. PostgreSQL 接続
  3. PostgreSQL 切断

前提条件

 

 

動作確認環境

本ページの内容は、以下の環境で動作確認をしています。

  • PostgreSQL 12.1 Windows 64bit

 

 

PostgreSQL 接続

  1. PostgreSQLサーバに接続する場合は「psql」コマンドを利用します。
  2. 「psql」コマンドを利用するためには、各OSにて以下のソフトウェアを起動する必要があります。
    • Windowsの場合は「コマンドプロンプト」を起動します。

 

コマンドプロンプトの起動
コマンドプロンプトの起動
  1. Windowsの場合は、Windowsの検索ボックスで「コマンドプロンプト」もしくは「cmd」と入力し、表示されたコマンドプロンプト項目を選択するとコマンドプロンプトが起動します。

 

PostgreSQL接続コマンド書式
psql -h ホスト名 -p ポート番号 -U ロール名 -d データベース名
  1. PostgreSQLサーバに接続するためのコマンド書式は、上記のとおりです。
    • ホスト名には、PostgreSQLサーバ接続先の「IPアドレス」or「URL」を指定します。もし接続先がローカル環境(同じPC環境)であれば指定不要です。
    • ポート番号には、PostgreSQLサーバのポート番号を指定します。デフォルトで「5432」が設定されます。
    • ロール名、データベース名には、定義済みのPostgreSQLのロール名、データベース名を指定します。

 

PostgreSQL接続コマンド(1)
psql -p 5432 -U postgres -d postgres
  1. ローカル環境のPostgreSQLサーバに接続するためには、上記のコマンドを実行します。

 

PostgreSQL接続コマンド(2)
psql -U postgres
  1. 「接続コマンド(1)」は、このように省略することが可能です。

 

パスワード入力が求められる(日本語)
ユーザ postgres のパスワード:
パスワード入力が求められる(英語)
Password for user postgres:
  1. 接続コマンドを実行すると「PostgreSQLサーバに接続するためのパスワード」の入力が求められます。

 

実行結果(接続成功)
psql (12.1)
  1. 正しいパスワードを入力すると、上記のような表示がされ、接続成功します。

 

実行結果例(接続失敗)(日本語)
psql: エラー: サーバに接続できませんでした: FATAL:  password authentication failed for user "postgres"
実行結果例(接続失敗)(英語)
psql: error: could not connect to server: FATAL:  password authentication failed for user "postgres"
  1. 誤ったパスワードを入力すると、上記のような表示がされ、接続失敗します。

 

PostgreSQL接続中のプロンプト表示
postgres=#
  1. PostgreSQLに接続(ログイン)すると、プロンプト表示が上記のようになります。
    • プロンプトには「PostgreSQLのログインユーザ名」が表示されます。

 

SQL実行
select * from pg_database;
実行結果例
  oid  |  datname  | datdba | encoding | datcollate  |  datctype   | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | datminmxid | dattablespace |               datacl
-------+-----------+--------+----------+-------------+-------------+---------------+--------------+--------------+---------------+--------------+------------+---------------+-------------------------------------
 13332 | postgres  |     10 |        6 | en_US.UTF-8 | en_US.UTF-8 | f             | t            |           -1 |         13331 |          479 |          1 |          1663 |
     1 | template1 |     10 |        6 | en_US.UTF-8 | en_US.UTF-8 | t             | t            |           -1 |         13331 |          479 |          1 |          1663 | {=c/postgres,postgres=CTc/postgres}
 13331 | template0 |     10 |        6 | en_US.UTF-8 | en_US.UTF-8 | t             | f            |           -1 |         13331 |          479 |          1 |          1663 | {=c/postgres,postgres=CTc/postgres}
(3 rows)
  1. PostgreSQL接続後は、コマンドからSQL文を実行することができます。

 

 

PostgreSQL 切断

PostgreSQL切断コマンド(psql終了コマンド)
\q
  1. PostgreSQLサーバに接続中の状態で、上記の切断コマンドを入力すると「psql」が終了し、PostgreSQLサーバから切断(ログアウト)されます。

 

 

 

 

Programming Style