私はPostgreSqlバージョンを使用しています:
postgres=# select version();
version
-------------------------------------------------------------
PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 64-bit
(1 row)
私はpostgres=#
からnewdb=#
にデータベースに接続していました...今、私はnewdb=#
データベースにいます。切断してpostgres=#
データベースに戻ります。 ..
これを行う方法 ?
disconnect newdb;
で試しました
しかし、それは次のようにエラーを与えます::
postgres=# create database newdb;
CREATE DATABASE
postgres=# \c newdb;
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
You are now connected to database "newdb" as user "postgres".
newdb=# disconnect newdb;
ERROR: syntax error at or near "disconnect"
LINE 1: disconnect newdb;
^
newdb=#
これを実行する他の方法はありますか、何か間違っています!
簡単です。例を見てください。
-私のデータベース
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+---------------------------
francs | postgres | UTF8 | C | C | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | francs=C*T*c*/postgres +
| | | | | select_only=c/francs
postgres | postgres | UTF8 | C | C |
source_db | postgres | UTF8 | C | C | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | source_db=C*T*c*/postgres
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(5 rows)
--ロールfrancsとしてdb francsに切り替える
postgres=# \c francs francs
You are now connected to database "francs" as user "francs".
--ロールpostgresとしてdb postgresに切り替え
francs=> \c postgres postgres
You are now connected to database "postgres" as user "postgres".
postgres=#
--dbから切断
postgres=# \q
Psqlには「切断」はありません。 newdbデータベースから切断する代わりに、デフォルトのpostgresデータベースに接続します。
新しいデータベースを作成して接続します。
postgres=# create database newdb;
CREATE DATABASE
postgres=# \c newdb
You are now connected to database "newdb" as user "postgres".
newdb=#
Newdbの接続数をリストします。
newdb=# select datname,numbackends from pg_stat_database where datname='newdb';
datname | numbackends
---------+-------------
newdb | 1
これで、切断する代わりに、デフォルトのpostgresデータベースに接続するだけです。
newdb=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#
現在、newdbには接続がありません。
postgres=# select datname,numbackends from pg_stat_database where datname='newdb';
datname | numbackends
---------+-------------
newdb | 0