恢复 PostgreSQL 逻辑备份
pg_restore 读取 pg_dump -Fc、-Fd 或 -Ft 生成的归档,能选择对象、并行恢复。纯 SQL 文件不归它管,应该交给 psql。
pg_restore -d appdb appdb.dump
pg_restore -l appdb.dump > list.txt # 查看归档内容
pg_restore -L list.txt -d appdb appdb.dump # 按清单选择性恢复
pg_restore -j 4 -d appdb appdb.dir # 目录格式并行恢复
pg_restore -d appdb --clean --if-exists appdb.dump
pg_restore -d appdb -n public -t orders appdb.dump
pg_restore --no-owner --no-privileges -d appdb appdb.dump
psql -f;拿 pg_restore 打开会报不是归档格式。--exit-on-error 才能在脚本里可靠判断。-j 不能和 --single-transaction 同时用;并行恢复只支持目录格式。--clean 会先删对象,属于破坏性操作;先 --dry-run 或恢复到临时库验证。createdb,或用 -C 让归档里的库名生效。--no-owner --no-privileges 并手动补扩展。-t 时不会自动带上依赖对象。pg_dump — 生成归档psql — 执行 SQL 备份createdb — 准备目标库