postgresql 哪种pgdump格式最适合小存储空间和快速还原?

ubof19bj  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(2)|浏览(138)

这是PostgreSQL备份(db dumps)的第一次尝试,我一直在研究不同的pgdump格式,其他pgdump选项和pgdumpall。对于一个Postgres初学者来说,每小时对两个包含表触发器和每个数据库中两个不同模式的数据库进行转储(将覆盖之前的转储),备份格式和选项可以轻松实现以下目标:
1.文件大小小(每个数据库单个文件或能够选择要恢复的数据库)
1.易于恢复为干净的数据库(有&没有相同的数据库名称[s])
1.易于在不同的服务器上恢复(用户可能不同)
1.触发器在恢复时禁用,在恢复后重新启用。
包括用于备份和还原的示例命令。
欢迎任何其他有用的pgdump/pgrestore建议。

htrmnn0y

htrmnn0y1#

此命令将创建一个小的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"


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

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


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

5lwkijsr

5lwkijsr2#

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

相关问题