Ich benutze die PostgreSql-Version:
postgres=# select version();
version
-------------------------------------------------------------
PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 64-bit
(1 row)
ich hatte eine Verbindung zu einer Datenbank von postgres=#
bis newdb=#
.... Jetzt bin ich in newdb=#
Datenbank Ich möchte die Verbindung trennen und zurück zu postgres=#
Datenbank ....
Wie macht man das ?
Ich habe es versucht mit disconnect newdb;
aber es gibt erroe als ::
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=#
es funktioniert nicht gibt es eine andere Möglichkeit, dies zu tun oder irre ich mich in irgendetwas !!
Es ist ganz einfach, sehen Sie sich nur das Beispiel an.
- meine Datenbanken
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)
--mstellung auf db Franken als Rollenfranken
postgres=# \c francs francs
You are now connected to database "francs" as user "francs".
--wechselt zu DB Postgres als Rolle Postgres
francs=> \c postgres postgres
You are now connected to database "postgres" as user "postgres".
postgres=#
--Verbindung zu db trennen
postgres=# \q
Es gibt keine "Trennung" in psql. Anstatt die Verbindung zu Ihrer NewDB-Datenbank zu trennen, stellen Sie eine Verbindung mit der Standard-Postgres-Datenbank her.
Erstellen Sie die neue Datenbank und stellen Sie eine Verbindung her:
postgres=# create database newdb;
CREATE DATABASE
postgres=# \c newdb
You are now connected to database "newdb" as user "postgres".
newdb=#
Listen Sie die Anzahl der Verbindungen auf newdb auf:
newdb=# select datname,numbackends from pg_stat_database where datname='newdb';
datname | numbackends
---------+-------------
newdb | 1
Anstatt jetzt die Verbindung zu trennen, stellen Sie einfach eine Verbindung mit der Standard-Postgres-Datenbank her.
newdb=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#
Jetzt gibt es keine Verbindungen zu newdb:
postgres=# select datname,numbackends from pg_stat_database where datname='newdb';
datname | numbackends
---------+-------------
newdb | 0