postgresql - 如何使用 pg_dump/pg_restore 更新数据库?
问题描述
假设我db0
在本地机器和db1
远程服务器上。我只想跟上db1
最新的db0
。
my_table
假设我在 in 中添加了几(千)行db0
,现在我想将其插入到my_table
in 中db1
。
所有关于 pg_dump/pg_restore 的食谱和文档都说关于表的完全恢复,但是,我不需要(也不想)删除并my_table
从头开始恢复。
是否有任何清晰而简单的方法来制作文件,scp
将其发送到服务器并pg_restore
从中获取?
只有两个命令:用于 pg_dump 和用于 pg_restore。因为我正在浏览文档和演练大约两个小时,发现新错误并且越来越困惑。
解决方案
您将不得不使用类似INSERT ... ON CONFLICT DO NOTHING
or的语句MERGE
(可能会出现在 v12 中),但这要求您可以同时访问两个表。
因此,您要么必须使用外部表,要么将表转储/恢复到目标数据库中的不同表中。
推荐阅读
- mongodb - 如何在有 3 个 Web 服务器用于负载平衡的情况下设置 mongodb 复制?
- php - 检查多个值是否重复php mysql
- regex - IF语句中的bash匹配正则表达式
- c# - 如何使用 ADAL 库向 ADFS 中的身份令牌添加更多声明?
- git - 如何在本地管理 git lfs 文件(如果可能,在与普通 git 文件相同的目录中)
- c# - 在同一页面上调用多个用户控件实例一次的用户控件方法
- c# - 在 C# 中运行带参数的 DOS 命令
- c - 如何更改我的代码(哈希表 + 链表)以避免内存泄漏?
- python - 从python中的csv文件中读取特定列
- r - partykit:回归树 - 识别终端节点箱线图中的异常值