PostgreSQLへの接続

広告

では"psql"コマンドを使ってPostgreSQLに接続します。接続に関係するオプションは下記の通りです。

オプション説明
-h HOSTNAMEdatabase server host or socket directory (default: "local socket")
-U NAMEdatabase user name (default: "xxxxx")
-d DBNAMEspecify database name to connect to (default: "xxxxx")

使い方は下記の通りです。

psql -h hostname -U username -d databasename

ホスト名はPostgreSQLが稼動しているサーバのホスト名です。デフォルトの値が"localhost"になっていますので、もしローカルホストでPostgreSQLが稼動している場合は、ホスト名として"localhost"を指定するか、または"-h"オプションを省略できます。

psql -h localhost -U username -d databasename
psql -U username -d databasename

データベース名は"-d"オプションの後に空白を挟んでデータベース名を指定します。省略した場合はユーザー名と同じ名前のデータベース名が使われるようです。

psql -U username -d databasename
psql -U username

ユーザー名は"-U"オプションの後に空白を挟んでユーザー名を指定します。ユーザーのデフォルトの値も設定されていますので省略も可能ですが、このデフォルトのユーザー名がどこから出てきたのか分かりませんでした。その為、明示的にユーザー名を指定して下さい。PostgreSQLのインストール時に指定したスーパーユーザー名(私の場合はpostgres)でログインする場合は下記のようになります。

psql -U postgres

実際に試すと下記のようになります。

psqlコマンドでPostgreSQLへ接続

すると上記のようにパスワードを聞かれますのでパスワードを入力して下さい。

psqlコマンドでPostgreSQLへ接続

ログインが完了すると上記のような状態になり、接続が完了します。

プロンプト

上記でプロンプトのところに「postgres=#」と表示されていますが、「postgres」の部分が現在接続しているデータベース名となります。また「#」となっている場合は、現在スーパーユーザー名でログインしていることを表しています。

( Written by Tatsuo Ikura )