首页 > 解决方案 > 如何使用 pg_dump/pg_restore 更新数据库?

问题描述

假设我db0在本地机器和db1远程服务器上。我只想跟上db1最新的db0

my_table假设我在 in 中添加了几(千)行db0,现在我想将其插入到my_tablein 中db1

所有关于 pg_dump/pg_restore 的食谱和文档都说关于表的完全恢复,但是,我不需要(也不想)删除并my_table从头开始恢复。

是否有任何清晰而简单的方法来制作文件,scp将其发送到服务器并pg_restore从中获取?

只有两个命令:用于 pg_dump 和用于 pg_restore。因为我正在浏览文档和演练大约两个小时,发现新错误并且越来越困惑。

标签: postgresqlpg-dumppg-restore

解决方案


您将不得不使用类似INSERT ... ON CONFLICT DO NOTHINGor的语句MERGE(可能会出现在 v12 中),但这要求您可以同时访问两个表。

因此,您要么必须使用外部表,要么将表转储/恢复到目标数据库中的不同表中。


推荐阅读