我正在尝试恢复使用命令创建的 OpenProject 数据库
sudo openproject run backup
此命令创建了postgresql-dump-20190722131834.pgdump
我尝试使用该命令恢复的文件
pg_restore --host=localhost --dbname=openproject postgresql-dump-20190722131834.pgdump
但它返回了我的错误
pg_restore: [archiver] input file does not appear to be a valid archive
我也尝试将--format=c
选项添加到pg_restore
命令,但错误更改为
pg_restore: [archiver] did not find magic string in file header
OpenProject 运行以创建 PostgreSQL 备份的脚本是:
dump_postgresql() {
dst="${TARGET}/postgresql-dump-${timestamp}.pgdump"
touch "$dst" && chmod 0640 "$dst"
pg_dump -Fc $DATABASE_URL > $dst
echo " done" >&2
echo "$dst"
}
我还注意到pg_dump
打印了很多这样的警告:
pg_dump: [custom archiver] WARNING: ftell mismatch with expected position -- ftell used
我正在尝试在运行 Ubuntu 18.04 和 PostgreSQL 10 的机器上恢复数据库。
这是命令的结果head postgresql-dump-20190722131834.pgdump
(我把它放在屏幕截图中,因为有一些我无法复制粘贴的无效字符):