PostgreSQLのダウンロード及びinstallに引き続き、これから、PostgreSQLの接続と切断の方法を紹介する。
目次
PostgreSQLへの接続と切断とは
PostgreSQLを利用するために行なう最初の操作がクライアントからPostgreSQLサーバへの接続だ。そして、操作の終了の操作が切断だ。ここでは、PostgreSQLの正式なクライアントアプリケーションSQL Shell(psql)を使ってサーバに接続する。psqlは対話型のターミナルだ。コマンドを入力すると、サーバからのレスポンスが表示される。
接続ためには、データベース名、ホスト名、ポート番号、ユーザ名を設定する必要がある。これらの値はデフォルトの値を使うこともできるし、パラメータとして指定することもできる。
コマンドの基本的な書き方は簡単だ。
$ psql [オプション] [データベース名]
では、実際の使い方を見てみよう。
PostgreSQLへ接続する
データベースを指定して接続する
あらかじめ作成しておいたデータベース(データベース名:sample)に接続する例だ。
データベースに接続するには名前を指定して、
$ psql sample
とコマンドを叩けばOKだ。
SQL Shellは「sample=#」とデータベース名に続いて「=#」を表示して、コマンドの入力待ちになるはずだ。
インストール直後に接続する
PostgreSQLインストール直後はまだデータベースが作成されていない。このため、データベース名を指定しないで接続する。
オプション-Uを使ってユーザ名:postgresだけを指定して、
$ psql -U postgres
とコマンドを叩けばOKだ。
「ユーザpostgresのパスワード:」と聞いてくるので、インストール時に設定したパスワードを入力する。パスワードを正しく入力すると、SQL Shellは「postgres=#」を表示して、コマンドの入力待ちになるはずだ。
オプション無しで接続する
データベースに接続ために必要な情報を指定する必要がある。しかし、毎回この値をオプションとして指定するのはわずらわしい時がある。こういう場合にあらかじめこれらの値を環境変数として設定しておくと手間が省ける。
「オプションと環境変数」のセクションで説明している環境変数をあらかじめ設定して、シンプルなコマンド入力で接続する例を見てみよう。
環境変数を指定していないと、オプション無しのコマンドでエラーになる。しかし、環境変数を指定することによって、
$ psql sample
とコマンドを叩くだけでOKだ。
では、切断する方法を見てみよう。
PostgreSQLから切断する
PostgreSQLの利用を終了するために、データベースからの切断の操作を行なう。
SQL Shellから、
# \q
とコマンドを叩けばOKだ。
SQL Shellから抜けて、元のDOSコマンドの入力待ちの表示になる。
オプションと環境変数
PostgreSQLサーバに接続ためは、データベース名、ホスト名、ポート番号、ユーザ名を設定する必要がある。これらの値は、SQL Shellのオプションか環境変数として設定することができる。
オプションと環境変数は次の通りだ。
オプション |
環境変数 |
説明 |
-d --dbname |
PGDATABASE |
データベースを指定する。 |
-h --hostname |
PGHOST |
サーバがあるマシンのホスト名を指定する。 |
-p --port |
PGPORT |
TCPポートかローカルUnixドメインソケットファイルの拡張子を指定する。 |
-U --username |
PGUSER |
ユーザを指定する。 |
PGPASSWORD |
パスワードを指定する。 |
まとめ
このページではPostgreSQLの接続と切断について簡単にご紹介した。参考にしていただければと思う。
質問なのですが、PostfreSQLへ接続したいのですが、「psql: 接続用の新しいプロセスをforkできませんでしたNo error」という記述がでてきて接続できません。どうしたらよいのでしょうか。
ご愛読いただきありがとうございます。
PostgreSQLのサービスは起動していますでしょうか?
下記コマンドでサービスを手動起動の後にpsqlでの接続をお試し頂ければと思います。
[Windows] 管理者権限のコマンドプロンプトより
net start postgresql-x64-9.5
※「9.5」の所はインストールしたバージョンによって異なります
[CentOS7] root権限のコンソールより
systemctl start postgresql