I'm using PostgreSql version :
postgres=# select version(); version
------------------------------------------------------------- PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 64-bit
(1 row)i had connected to a database from postgres=# to newdb=#....
Now i'm in newdb=# Database i want to disconnect it and go back to postgres=# database ....
How to do this ?
I have tried with disconnect newdb;
but its giving erroe as::
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=#it isnt working is there any other way to do this or am i wrong in anything!!
82 Answers
It's easy, just look the example.
--my databases
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)--switch to db francs as role francs
postgres=# \c francs francs
You are now connected to database "francs" as user "francs".--swith to db postgres as role postgres
francs=> \c postgres postgres
You are now connected to database "postgres" as user "postgres".
postgres=# --disconnect from db
postgres=# \q 4 There is not a 'disconnect' in psql. Instead of disconnecting from your newdb database you connect with the default postgres database.
Create the new database and connect to it:
postgres=# create database newdb;
CREATE DATABASE
postgres=# \c newdb
You are now connected to database "newdb" as user "postgres".
newdb=#List the number of connections on newdb:
newdb=# select datname,numbackends from pg_stat_database where datname='newdb'; datname | numbackends
---------+------------- newdb | 1Now, instead of disconnecting, just connect with the default postgres database.
newdb=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#Now there are no connections on newdb:
postgres=# select datname,numbackends from pg_stat_database where datname='newdb'; datname | numbackends
---------+------------- newdb | 0 2