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)

j'avais relié à une base de données à partir de postgres=#newdb=#.... Maintenant, je suis dans newdb=# Base de données je veux déconnecter et revenir à postgres=# base de données ....

Comment faire cela ?

j'ai essayé avec disconnect newdb;

mais son donner 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=#

il ne fonctionne pas y a - t-il une autre façon de le faire ou est-ce que je me trompe en quoi que ce soit!!

45
demandé sur 09Q71AO534 2013-07-31 10:40:56

2 réponses

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 db francs comme rôle de francs

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

--swith pour la base de données postgres comme rôle postgres

francs=> \c postgres postgres

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

-- déconnecter de db

postgres=# \q
65
répondu francs 2013-07-31 07:48:18

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éer la nouvelle base de données et s'y connecter:

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

Liste du nombre de connexions sur newdb:

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

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

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

maintenant il N'y a pas de connexion sur newdb:

postgres=# select datname,numbackends from  pg_stat_database where datname='newdb';
 datname | numbackends
---------+-------------
 newdb   |           0
23
répondu Hawkez 2015-12-22 20:26:36