postgresql – 在postgres中复制数据库

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Postgre SQL相关文章