0

我在同一台服务器上有两个数据库。一个命名为 A,一个命名为 B。Booth 数据库具有相同的结构。我想清空数据库 B 并使用数据库 A 中的数据加载它。这是最好的方法吗?

我试图以纯格式备份数据库 A。然后打开生成的 sql 文件并将每次出现的“A”替换为“B”,然后运行 ​​sql 脚本。这行得通,但我认为这应该是一种将数据从一个数据库移动到另一个数据库的更简单方法。是吗?

我使用“pgAdmin III”作为我的工具,但这不是必需的。

这是我在这里的第一篇文章,希望这个问题是相关的并且结构足够好。我先尝试了谷歌,但发现很难找到有相同问题的人。

提前致谢!/大卫

解决方案:在克雷格的帮助下,我就是这样做的

pg_dump -Fc -a -f a.dbbackup A

psql -c 'TRUNCATE table1, table2, ..., tableX CASCADE'

pg_restore dblive.backup -d B -c (not sure if -c was necessary)
4

1 回答 1

1

备份:

pg_dump -Fc -f a.dbbackup

恢复:

psql -c 'CREATE DATABASE b;'
pg_restore --dbname b a.dbbackup

根据需要使用-U,-h等选项以具有转储、创建和恢复数据库权限的正确用户身份连接到正确的主机。psql有关更多信息,请参阅文档(它们pg_dumppg_restore采用相同的连接控制选项)。

于 2013-04-03T07:30:22.613 回答