我在我的项目中使用 postgresql (9.6) 数据库,该数据库目前处于开发阶段。
对于生产,我想使用数据库集群的精确副本/镜像,但名称略有不同。
我知道我可以进行备份并在不同的集群名称下恢复它,但是是否有类似通过 psql 客户端或 pgAdmin (v.4) 的镜像功能来镜像我的所有模式和表并将其放入新的集群名称中?
最佳答案
在 PostgreSQL 中,当您想要使用该内容创建新数据库时,您可以使用服务器上任何现有数据库(该数据库需要处于空闲状态才能工作)作为模板。您可以使用以下 SQL 语句:
CREATE DATABASE newdb WITH TEMPLATE someDbName OWNER dbuser;
但是您需要确保当前没有用户连接或使用该数据库 - 否则您将收到以下错误。
ERROR: source database "someDbName" is being accessed by other users
希望有帮助;)
关于database - 如何在postgresql中镜像整个数据库集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51726918/