programing

데이터베이스와의 연결을 끊고 PostgreSQL의 기본 데이터베이스로 돌아가는 방법은 무엇입니까?

firstcheck 2023. 5. 13. 21:00
반응형

데이터베이스와의 연결을 끊고 PostgreSQL의 기본 데이터베이스로 돌아가는 방법은 무엇입니까?

PostgreSql 버전을 사용하고 있습니다.

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

나는 데이터베이스에 연결했습니다.postgres=#로.newdb=#이제 나는.newdb=#연결을 끊고 돌아가려는 데이터베이스postgres=#데이터베이스...

어떻게 하는 거지?

와 해본 적이 있습니다.disconnect newdb;

그러나 다음과 같이 부여합니다.

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

이것을 할 수 있는 다른 방법이 있습니까 아니면 제가 틀린 것입니까!!

쉬운 일입니다. 예를 들어보세요.

--내 데이터베이스

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)

-- 역할 프랑으로 db 프랑으로 전환

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

--db postgres를 역할 postgres로 지정합니다.

francs=> \c postgres postgres

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

--db에서 연결 끊기

postgres=# \q

psql에는 '절단'이 없습니다.새 데이터베이스에서 연결을 끊는 대신 기본 postgres 데이터베이스로 연결합니다.

새 데이터베이스를 만들고 연결합니다.

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

newdb의 연결 수를 나열합니다.

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

이제 연결을 끊는 대신 기본 postgres 데이터베이스로 연결하면 됩니다.

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

이제 newdb에 연결이 없습니다.

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

언급URL : https://stackoverflow.com/questions/17963348/how-to-disconnect-from-a-database-and-go-back-to-the-default-database-in-postgre

반응형