PostgreSQLでの「\c」コマンドによる接続先データベースの変更方法

psqlであるデータベースに接続した後、別のデータベースへの接続に切り替えたい場合がある。
現在のデータベースへの接続を「\q」コマンドで切断後、、再度psqlで別のデータベースに接続する、といった方法もあるが、psqlでの切断、接続やり直し、といった流れが少しだけ面倒かもしれない。

少しでも手間を省くには、「\c」コマンドで接続先データベースを変更すればよい。

\c データベース名 ユーザ名

と入力し、[Enter]キーを押すことで、接続先データベースとユーザ名を変更できる。

ユーザ名の指定が不要である場合は、ユーザ名を指定せず、

\c データベース名

と入力してもよい。

《備考》PostgreSQL8.1のヘルプに記載されている情報
\c[onnect] [DBNAME|- [USER]]
connect to new database (currently "nobuneko_datanase")
※このヘルプは、使用方法だけでなく、「currently "データベース名"」の部分で、現在の接続先データベース名まで確認できるので分かりやすい。

《例》Linux(CentOS 5)+PostgreSQL 8.1で接続先データベースを変更する方法
[root@nobuneko ~]# psql -U postgres nobuneko_database
Welcome to psql 8.1.23, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

nobuneko_database=# \l
List of databases
Name | Owner | Encoding
---------------------------+----------+----------
cat_database | postgres | EUC_JP
neko_database | postgres | EUC_JP
nobuneko_database | postgres | EUC_JP
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(6 rows)

「\c データベース名」でデータベースの接続先を他のデータベースに変更する例
《存在するデータベースを指定した場合》
nobuneko_database=# \c neko_database ※存在するデータベース「neko_database」を指定
You are now connected to database "neko_database". ※「データベース『neko_database』に接続されている」、とメッセージが出る。

《存在しないデータベースを指定した場合》
nobuneko_database=# \c test_database ※存在しないデータベース「test_database」を指定
FATAL: database "test_database" does not exist ※データベース「test_database」は存在しないと警告が出る
Previous connection kept ※「これまでの接続が維持される」と警告が出る

「\c データベース名 ユーザ名」でデータベースの接続先を他のデータベースに変更する例
《存在するユーザを指定した場合》
neko_database=# \c cat_database postgres ※存在するユーザ「postgres」を指定
You are now connected to database "cat_database" as user "postgres". ※「データベース『cat_database』に、『postgres』ユーザとして接続されている」、とメッセージが出る。

《存在しないユーザを指定した場合》
neko_database=# \c cat_database testuser ※存在しないユーザ「testuser」を指定
FATAL: role "testuser" does not exist ※ユーザ「testuser」は存在しないと警告が出る
Previous connection kept ※「これまでの接続が維持される」と警告が出る

前へ

PostgreSQL 8.1でのヘルプ表示方法と表示結果

次へ

魔法少女まどか☆マギカ