psqlについて_PostgreSQL_接続_切断
psqlとは
コマンドラインベースでPostgreSQLで作成済みのデータベースに接続したりテーブルから取得したりすることが出来るツール。
Windows環境からpsqlを利用するにはコマンドプロンプトから行う。
■ PostgreSQLへ接続
PostgreSQLへ接続するには、次のように実行する。(PostgreSQLで作成し済みの指定したデータベースに接続する)
psql -h ホスト名 -p ポート番号 -u ロール名 -d データベース名
ホスト名はPostgreSQLが起動しているホスト名またはIPアドレス
(デフォルトの値はlocalhostとなっている。ローカルホストで動いているPostgreSQLに接続する場合は省略可能。)
ポート番号は使用するポート番号
(デフォルトの値はPostgreSQLのインストール時に設定した値[通常は5432]となっているので別のポート番号を使用するとき以外は省略できる)
ロール名は-U postgresと指定してください。
PostgreSQLをインストールした直後はスーパーユーザーであるpostgresロールしか作成されていないため。
(ロール名を省略した場合はOSのユーザー名が使用される。PostgreSQLでは、一般的にユーザーと呼ばれるものとグループと呼ばれるものをまとめてロールと呼んでいる。)
データベース名には接続するデータベース名を指定します。
(省略した場合はロール名と同じ名前のデータベースに接続する{postgresデータベースは自動で作成されており、postgresロールで接続した場合はpostgresデータベースに接続する。})
①すべて指定してPostgresSQLに接続する場合
psql -h localhost -p 5432 -U postgres -d postgres
②ホスト名がlocalhostの場合で、ロール名と同じデータベースに接続する場合
psql -U postgres
①と②は同じ意味で認識され、実行されたことになる。
・ホスト名がlocalhostであれば、省略ができ、ポート番号も省略できる。
・ロール名と同じデータベースに接続する場合はデータベース名を省略できる。
①と②のどちらかで入力後、Enter押下。
postgresのバスワードを入力後、Enter押下。
接続した場合:
postgresデータベースに接続しているので、posgres=#と表示される。
接続中はデータベース名=#と表示される。
psqlを終了してPostgreSQLから切断するには・・・
コマンドプロンプトにて、データベース名=#が表示時、
「¥q」を入力し、実行
psqlが終了し、PostgreSQLから切断されると
データベース名=#が表示がなくなります。