PostgreSQL 逻辑备份工具
pg_dump 把单个数据库导出成 SQL 脚本或归档文件,是逻辑备份的主要工具。它导出的是某一时刻的一致性快照,但不包含全局对象(角色、表空间)和 pg_dumpall 才处理的集群级信息。
pg_dump -h 127.0.0.1 -U app -d appdb > appdb.sql
pg_dump -Fc -d appdb -f appdb.dump # 自定义格式,可并行恢复
pg_dump -Fd -j 4 -d appdb -f appdb.dir # 目录格式,并行导出
pg_dump -d appdb -t orders -f orders.sql
pg_dump -d appdb -n public -N audit -f app.sql
pg_dump -d appdb -s -f schema.sql # 只导结构
pg_dump -d appdb -a -f data.sql # 只导数据
pg_dump -Fc -Z 6 -d appdb -f appdb.dump # 压缩
pg_dump,不要用旧版本客户端。-Fc/-Fd 必须用 pg_restore 恢复;纯 SQL 文件才用 psql -f。-b。--snapshot 配合。-s,只导数据加 -a;两者都不加才是完整备份。-t 只匹配表名,不会自动带上依赖的序列/索引;恢复后检查默认值和序列。--no-owner --no-privileges。-Fd -j 更快且便于校验。pg_restore — 恢复 -Fc/-Fd 备份pg_basebackup — 物理备份psql — 执行纯 SQL 备份