繁体   English   中英

如何从一个 Postgres 实例克隆整个数据库,成为托管在不同实例上的数据库的一部分?

[英]How do I clone an entire database from one Postgres instance, to become a part of a database hosted on a different instance?

我有一个 PostgreSQL 实例A有 10 个表,另一个实例B托管在不同的盒子上,它包含相同的 10 个表,但还有许多其他的。 我想从小型数据库A克隆所有 10 个表以覆盖它们在较大数据库B的等价物。 有什么好方法可以做到这一点?

我正在考虑的一种方法是对A进行完整的pg_dump ,将该转储文件复制到B的主机,然后pg_restoreB 似乎它应该可以工作,因为我确实希望AA每个表都覆盖B上的同名表,但是我在执行完整数据库转储的pg_restore时有点紧张,而且我也不是很熟悉pg_dumppg_restore因此该计划最好由更有知识的人验证。

您可以使用带有--clean选项的纯格式pg_dump并使用-t指定要转储的表。

然后你会得到一个只包含你想要替换的表的 SQL 脚本,每个表前面都有一个DROP TABLE

您可以在使用之前检查脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM