将数据从一台服务器迁移到另一台服务器,同时保持少数表数据不变,使用 pg_restore 时基本上排除少数表

Posted

技术标签:

【中文标题】将数据从一台服务器迁移到另一台服务器,同时保持少数表数据不变,使用 pg_restore 时基本上排除少数表【英文标题】:migrate data from one server to another while keeping few tables data unchanged basically exclude few tables while using pg_restore 【发布时间】:2022-01-22 04:06:30 【问题描述】:

假设我的数据库有 4 个表 A、B、C 和 D..现在我希望恢复表 A 和 B 的数据保持不变,而 C 和 D 的数据应该改变。 我正在使用以下命令来恢复转储。 pg_restore --verbose --no-acl --no-owner -h localhost -d db_name latest.dump 进行转储的命令 pg_dump -Fc database_name > ~/Downloads/latest-stage.dump

这里我使用的是 clean 标志,因为如果我不使用它,它会产生与索引和键约束相关的错误。

注意:基本上我正在将我的数据从一台服务器移动到另一台服务器,但我希望少数表的数据不应该改变。

【问题讨论】:

【参考方案1】:

您的恢复命令正在恢复整个数据库。根据转储的创建方式,您可以恢复特定的表。

根据您的转储处理方式,您可以使用恢复特定表。

pg_dump

pg_restore

我会使用format 方法从原始数据库创建一个转储。如果那不可能,通常会在其他地方恢复表并使用数据库链接或外部服务器复制数据,具体取决于您的设置。

【讨论】:

如果我在转储过程中排除了一些表,但是当我恢复时,我的所有数据库都被清除并且数据丢失,如果我不清除数据库,我会得到很多与键约束和索引相关的错误.. 您需要包含原始转储命令。看起来您正在恢复整个数据库。阅读文档,有办法解决这个问题。

以上是关于将数据从一台服务器迁移到另一台服务器,同时保持少数表数据不变,使用 pg_restore 时基本上排除少数表的主要内容,如果未能解决你的问题,请参考以下文章

如何将网站从一台服务器迁移到另一台服务器

text 将网站安装从一台服务器迁移到另一台服务器

WAMP 服务器:localhost/mysite 显示空白页 - 从一台电脑迁移到另一台电脑的错误 [重复]

如何将 redis 数据库从一台服务器移动到另一台服务器?

如何将 redis 数据库从一台服务器移动到另一台服务器?

(转)将SVN从一台服务器迁移到另一台服务器(Windows Server VisualSVN Server)