我正在我的项目中使用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
希望对;)有所帮助