web-dev-qa-db-fra.com

Comment se déconnecter d'une base de données et revenir à la base de données par défaut dans PostgreSQL?

J'utilise la version PostgreSql:

postgres=# select version();
                           version
-------------------------------------------------------------
 PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 64-bit
(1 row)

je m'étais connecté à une base de données de postgres=# à newdb=#.... Maintenant je suis dans newdb=# Base de données que je veux déconnecter et revenir à postgres=# base de données ....

Comment faire ça?

J'ai essayé avec disconnect newdb;

mais sa donne erroe comme ::

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=#

cela ne fonctionne pas est-il une autre manière de faire ceci ou est-ce que je me trompe dans n'importe quoi !!

62
09Q71AO534

C'est facile, il suffit de regarder l'exemple.

- mes bases de données

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)

--passage en db francs en tant que franc rôle

postgres=# \c francs francs
You are now connected to database "francs" as user "francs".

--swith to db postgres en tant que rôle postgres

francs=> \c postgres postgres

You are now connected to database "postgres" as user "postgres".
postgres=# 

--déconnecter de la base de données

postgres=# \q
78
francs

Il n'y a pas de "déconnexion" dans psql. Au lieu de vous déconnecter de votre base de données newdb, vous vous connectez avec la base de données postgres par défaut.

Créez la nouvelle base de données et connectez-vous à celle-ci:

postgres=# create database newdb;
CREATE DATABASE    
postgres=# \c newdb
You are now connected to database "newdb" as user "postgres".
newdb=#

Indiquez le nombre de connexions sur newdb:

newdb=# select datname,numbackends from  pg_stat_database where datname='newdb';
 datname | numbackends
---------+-------------
 newdb   |           1

Maintenant, au lieu de vous déconnecter, connectez-vous simplement avec la base de données postgres par défaut.

newdb=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#

Maintenant, il n'y a pas de connexions sur newdb:

postgres=# select datname,numbackends from  pg_stat_database where datname='newdb';
 datname | numbackends
---------+-------------
 newdb   |           0
34
Hawkez