在其他用户连接到postgres数据库时创建一个postgres数据库的副本

时间:2012-04-05 12:36:20

标签: postgresql

我知道两种复制postgres数据库的方法,但是它们都要求你拥有对数据库的独占访问权限,这是你在尝试从生产中复制数据库时没有的东西,以便用它来测试某些东西,比如软件升级/迁移。

psql>create database mydb_test with template mydb owner dbuser;
ERROR:  source database "mydb" is being accessed by other users

>createdb -O dbuser -T mydb mydb_test
createdb: database creation failed: ERROR:  source database "mydb" is being accessed by other users

1 个答案:

答案 0 :(得分:5)

有效:

psql
create database mydb_test owner dbuser;
\q
pg_dump mydb|psql -d mydb_test