postgresql - usuarios - postgres idle
¿Cómo desconectarse de una base de datos y volver a la base de datos predeterminada en PostgreSQL? (2)
Estoy usando la versión de PostgreSql:
postgres=# select version();
version
-------------------------------------------------------------
PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 64-bit
(1 row)
newdb=#
había conectado a una base de datos de postgres=#
a newdb=#
... Ahora estoy en newdb=#
Base de datos que quiero desconectar y volver a postgres=#
database ....
Como hacer esto ?
He intentado con disconnect newdb;
pero está dando erroe como ::
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=#
no funciona, ¿hay alguna otra forma de hacerlo o estoy equivocado en algo?
Es fácil, solo mira el ejemplo.
mis bases de datos
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)
- cambiar a francos db como francos de función
postgres=# /c francs francs
You are now connected to database "francs" as user "francs".
- swith a db postgres como rol postgres
francs=> /c postgres postgres
You are now connected to database "postgres" as user "postgres".
postgres=#
- desconectar de db
postgres=# /q
No hay una ''desconexión'' en psql. En lugar de desconectarse de su base de datos newdb, se conecta con la base de datos postgres predeterminada.
Crea la nueva base de datos y conéctate a ella:
postgres=# create database newdb;
CREATE DATABASE
postgres=# /c newdb
You are now connected to database "newdb" as user "postgres".
newdb=#
Enumera la cantidad de conexiones en newdb:
newdb=# select datname,numbackends from pg_stat_database where datname=''newdb'';
datname | numbackends
---------+-------------
newdb | 1
Ahora, en lugar de desconectar, simplemente conéctese con la base de datos predeterminada de postgres.
newdb=# /c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#
Ahora no hay conexiones en newdb:
postgres=# select datname,numbackends from pg_stat_database where datname=''newdb'';
datname | numbackends
---------+-------------
newdb | 0