我正在尝试对运行在Windows7机器上的PostgreSQL-10数据库执行备份,然后在运行CentOS 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然而,它根本不起作用。即使模式已恢复,数据仍未恢复,因为就在恢复过程将要开始恢复数据之前,它会给出一个"pipe has and“错误,并且不会继续完整的恢复过程。我之所以使用“自定义”格式,是因为普通的SQL或tar格式会生成巨大的备份文件。
我做错了什么?是否有需要传递给dump或restore命令的参数?
发布于 2018-11-21 13:27:14
可能的解释是文件在文件传输过程中被修改。您能否计算传输前后文件的校验和,并验证其是否相同?
如果文件没有更改,那么您可能发现了PostgreSQL错误。如果您有一个可以共享的转储文件,并且出现了问题,请将此问题报告给PostgreSQL。
https://stackoverflow.com/questions/53386248
复制相似问题