我有一个要求,我需要拍摄数据库的快照,并在postgres中使用其他预定义名称在同一台机器上恢复它.我尝试使用以下命令完成上述任务.
CREATE DATABASE destniationDb TEMPLATE sourceDb;
Run Code Online (Sandbox Code Playgroud)
但是当与sourceDb的连接/会话存在时,此选项失败.因此,我需要截断此选项,因为用户很可能正在执行读取操作.所有命令行选项,如restore_db,backup_db都符合我的要求.因此,我需要一些控制台命令/功能/存储过程来实现它,即,我需要连接到数据库并调用一些命令/功能/存储过程来实现这个目标.
你们中的任何人都可以根据我的要求提出某种解决方案吗?
nem*_*ixx 11
为什么不sourceDb 使用该命令创建现有数据库的转储
pg_dump sourceDb > destinationDb.sql
Run Code Online (Sandbox Code Playgroud)
并在此SQL转储中destinationDb.sql,将数据库名称更改为行中的新名称CREATE DATABASE.之后,您可以使用以下命令在服务器上创建此新数据库psql:
psql destinationDb < destinationDb.sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12911 次 |
| 最近记录: |