如何从另一台服务器上的数据库转储更新 Postgres 数据库架构中的选定表?

问题描述 投票:0回答:1
我有一个数据库,一些表在开发服务器上定期更新,需要推送到生产服务器上的数据库。使用 pg_dump 和 pg_restore 将更新的表从 dev 数据库迁移到 prod 数据库的正确方法是什么?我可以将整个数据库转储到开发服务器上并将其恢复到生产服务器上,但是某些表包含两个数据库之间不同的动态数据(由应用程序创建/更新),因此必须保留生产服务器上的这些表。仍然有一些表包含不会更改的静态数据,并且不需要在产品服务器上更新,尽管可以更新它们。

所以基本上我想做的是使用 pg_dump 和 pg_restore (版本 15.4)用开发服务器上数据库中相应表的数据更新产品服务器上数据库的某些表中的数据。谢谢。

附注我已经阅读了 pg_dump 和 pg_restore 的手册页,但仍然不清楚如何做我想做的事情。我尝试了一些测试,但没有按我的预期工作。我也在网上查了一下,没有看到解决同样问题的帖子。

postgresql pg-dump pg-restore
1个回答
0
投票
添加

--clean --if-exists --create

 提供完整的表格覆盖,同时使用 
--schema='specific_schema'
--table='specific_table'
 您可以缩小 
pg_dump
 的目标范围,跳过其他所有内容。

postgres_fdw

 @Adrian Klaver 所提到的 可以让您链接 dev 上的对象,使其在 
prod
上可见并可访问,就好像它们存在于本地一样,这让您可以直接使用它们,或者从 DML 引用它们,以便在
prod
内部基于
dev
现场执行必要的
prod
更新。
该文档还记录了多种

复制方法

,可让您设置将数据从dev移动到

prod
的自动过程。
    

© www.soinside.com 2019 - 2024. All rights reserved.