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!!
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
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