postgresql – 在postgres中复制数据库

postgresql – 在postgres中复制数据库,第1张

概述我有一个要求,我需要拍摄数据库的快照,并在postgres中使用其他预定义名称在同一台机器上恢复它. 我尝试使用以下命令完成上述任务. CREATE DATABASE destniationDb TEMPLATE sourceDb; 但是当与sourceDb的连接/会话存在时,此选项失败.因此,我需要截断此选项,因为用户很可能正在执行读取 *** 作. 所有命令行选项,如restore_db,backup 我有一个要求,我需要拍摄数据库的快照,并在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
总结

以上是内存溢出为你收集整理的postgresql – 在postgres中复制数据库全部内容,希望文章能够帮你解决postgresql – 在postgres中复制数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存