降级 pg_restore 出现分段错误(Postgresql 10 -> Postgresql 9.5)

问题描述 投票:0回答:1

在装有 Postgresql 10 的服务器上进行转储并将其放入 rsync.net

pg_dump -Z1 -Fc <db_name> | ssh <user>@s<server> "dd of=dump"

在另一台装有 Postgresql 9.5 降级的服务器上创建转储并尝试恢复数据库。步骤是

cat dump | sed '/AS integer/d' > downgraded_dump.sql

pg_restore -j 2 -d <db> downgraded_dump.sql

pg_restore 因分段错误而失败。

我不知道出了什么问题。

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

如果您需要降级 PostgreSQL,您唯一的希望是“纯格式”转储 (

pg_dump -F p
)。如果您没有破坏转储文件,
pg_restore
会告诉您它拒绝从更新版本恢复转储。

您可以尝试将纯格式转储恢复到旧的 PostgreSQL 版本,但第一次尝试可能会失败。然后你必须编辑 SQL 脚本并修改语法,以便它可以恢复到旧的 PostgreSQL 版本。

这是一个繁琐的过程,但是 PostgreSQL 不支持降级。

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