哪种pgdump格式最适合小型存储和快速恢复



这是我第一次尝试PostgreSQL备份(数据库转储),我一直在研究不同的pgdump格式、其他pgdump选项和pgdumpall。对于一个Postgres初学者来说,每小时转储两个数据库(每个数据库中包含表触发器和两个不同的模式)(将覆盖以前的转储),备份格式和选项是什么

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

包括用于备份和恢复的示例命令。

欢迎任何其他有用的pgdump/pgreore建议。

这个命令将创建一个小的dmp文件,其中只包括数据库的结构-表、列、触发器、视图等。(这个命令只需要几分钟)

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"

在中备份所选的选项卡(使用正则表达式)

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

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

如果您想每小时备份一次,我认为您应该使用日志归档而不是pg_dump。

相关内容

  • 没有找到相关文章

最新更新