微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 在postgres中复制数据库

我有一个要求,我需要拍摄数据库的快照,并在postgres中使用其他预定义名称在同一台机器上恢复它.
我尝试使用以下命令完成上述任务.
CREATE DATABASE destniationDb TEMPLATE sourceDb;

但是当与sourceDb的连接/会话存在时,此选项失败.因此,我需要截断此选项,因为用户很可能正在执行读取操作.
所有命令行选项,如restore_db,backup_db都符合我的要求.因此,我需要一些控制台命令/功能/存储过程来实现它,即,我需要连接到数据库调用一些命令/功能/存储过程来实现这个目标.

你们中的任何人都可以根据我的要求提出某种解决方案吗?

为什么不使用该命令创建现有数据库sourceDb的转储
pg_dump sourceDb > destinationDb.sql

并在此sql转储destinationDb.sql中,将数据库名称更改为CREATE DATABASE行中的新名称.之后,您可以使用psql在服务器上创建这个新数据库,如:

psql destinationDb < destinationDb.sql

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐