postgresql – 哪种pgdump格式最适合小存储大小和快速恢复?

这是PostgreSQL备份(db dumps)的第一次尝试,我一直在研究不同的pgdump格式,其他pgdump选项和pgdumpall.对于Postgres初学者来说,每个数据库中包含表触发器和两个不同模式的两个数据库每小时转储(将覆盖以前的转储),可以轻松实现以下内容的备份格式和选项:

>小文件大小(每个数据库单个文件或选择要还原的数据库的能力)
>易于恢复为干净的数据库(带有&没有相同的数据库名称[s])
>易于在不同服务器上恢复(用户可能不同)
>还原时禁用触发器,还原后重新启用.

包括备份和还原的示例命令.

任何其他有用的pgdump / pgrestore建议欢迎.

最佳答案 此命令将创建一个小的dmp文件,其中仅包含dattabase的结构 – tabels,columns,triggers,views等.(此命令只需几分钟)

pg_dump -U "dbuser" -h "host" -p "port" -F c -b -v -f ob_`date +%Y%m%d`.dmp dbname

**ex:** pg_dump -U thames -h localhost -p 5432 -F c -b -v -f ob_`date +%Y%m%d`.dmp dbname

此命令将备份完整的数据库

pg_dump -h localhost -U "dbuser" "dbname" -Fc > "pathfilename.backup"

**ex:** pg_dump -h localhost -U thames thamesdb - Fc > "thamesdb.backup"

和恢复你可以使用:

pg_restore -i -h localhost -U "user" -d "dbname" -v "dbname.backup"

**ex:** pg_restore -i -h localhost -U thames -d thamesdb -v "thamesdb.backup"

备份选定的表格(使用正则表达式)here

pg_dump -t '(A|B|C)'

有关详细信息,您可以访问pgdump帮助页面,那里有很多选项

点赞