프로그래밍 언어/Database

PostgreSQL에서 데이터베이스 복사본 생성

Rateye 2021. 6. 14. 10:05
728x90
반응형
질문 : PostgreSQL에서 데이터베이스 복사본 생성

전체 데이터베이스 (구조 및 데이터)를 pgAdmin의 새 데이터베이스에 복사하는 올바른 방법은 무엇입니까?

답변

Postgres를 사용하면 새 데이터베이스를 만들 때 서버의 기존 데이터베이스를 템플릿으로 사용할 수 있습니다. pgAdmin이 데이터베이스 생성 대화 상자에서 옵션을 제공하는지 확실하지 않지만 그렇지 않은 경우 쿼리 창에서 다음을 실행할 수 있어야합니다.

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

그래도 다음을 얻을 수 있습니다.

ERROR:  source database "originaldb" is being accessed by other users

데이터베이스에서 다른 모든 사용자의 연결을 끊으려면 다음 쿼리를 사용할 수 있습니다.

SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity 
WHERE pg_stat_activity.datname = 'originaldb' AND pid <> pg_backend_pid();
출처 : https://stackoverflow.com/questions/876522/creating-a-copy-of-a-database-in-postgresql
728x90
반응형