postgresql - 尝试转储在 CentOS 7 机器上运行的 PostgreSQL-10 数据库并将其恢复到 Windows 10 机器中

标签 postgresql pg-dump postgresql-10

我正在尝试对在 CentOS 7 机器上运行的 PostgreSQL-10 数据库执行备份,然后在运行 Windows 10 的开发机器上恢复它,但我在恢复过程中遇到错误:

pg_restore: [custom archiver] WARNING: ftell mismatch with expected position -- ftell used

我已经确保在 dump 和 restore 中传递的命令参数是相同的:

pg_dump --format=c --compress=9 --encoding=UTF-8 -n public --verbose --username=postgres databaseName -W -f /usr/local/production-dump.backup

然而它根本不起作用。即使模式已恢复,但数据并未恢复,因为就在恢复过程开始恢复数据之前,它会给出“管道已结束”错误,并且不会继续进行完整的恢复过程。我正在使用“自定义”格式,因为纯 SQL 或 tar 格式会生成巨大的备份文件。

我做错了什么?是否有任何参数需要传递给转储或恢复命令?

最佳答案

可能的解释是文件在文件传输过程中被修改。能否计算一下文件传输前后的校验和,验证是否相同?

如果文件没有改变,那么您可能发现了 PostgreSQL 错误。如果您有可以共享的转储并且出现问题,请将此问题报告给 PostgreSQL。

关于postgresql - 尝试转储在 CentOS 7 机器上运行的 PostgreSQL-10 数据库并将其恢复到 Windows 10 机器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53386248/

相关文章:

mysql - 我如何解释几个连续的查询而不执行它们?

pg-dump - pgadmin 4 pg_restore : [archiver] input file appears to be a text format dump. 请使用 psql

postgresql - 如果不存在通过 postgres 备份和恢复工具创建数据库的问题

amazon-s3 - 将 s3 的 pg_dump 加载到 redshift 中

postgresql - 如何使用具有指定运算符的现有索引添加排除约束?

postgresql - 获取 Postgresql 中的第 N 行

sql - 如何知道某个时间戳是否存在于 postgres 表单元格中

postgresql - 如何从另一个脚本运行 postgresql 脚本?

initialization - 带有 pgadmin 4 v3.0 问题的 Postgresql 10.4 - Windows 10 x64 用户的查询工具初始化错误

sql - 如何在 PostgreSQL 中限制一个 float