postgresql – pg_dump vs pg_dumpall?哪一个用于数据库备份?

前端之家收集整理的这篇文章主要介绍了postgresql – pg_dump vs pg_dumpall?哪一个用于数据库备份?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试过pg_dump然后在一个单独的机器我试图导入sql并填充数据库,我看到
CREATE TABLE
ERROR:  role "prod" does not exist
CREATE TABLE
ERROR:  role "prod" does not exist
CREATE TABLE
ERROR:  role "prod" does not exist
CREATE TABLE
ERROR:  role "prod" does not exist
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
WARNING:  no privileges could be revoked for "public"
REVOKE
ERROR:  role "postgres" does not exist
ERROR:  role "postgres" does not exist
WARNING:  no privileges were granted for "public"
GRANT

这意味着我的用户和角色和授权信息不在pg_dump中

另一方面,我们有pg_dumpall,我读了conversation,这不会导致我任何地方?


– 我应该使用哪个数据库备份? pg_dump或pg_dumpall?
– 要求是我可以采取备份,应该能够导入任何机器,它应该工作正常。

通常的过程是:

> pg_dumpall –globals只有获取用户/角色/等
> pg_dump -Fc为每个数据库获得一个适用于pg_restore的很好的压缩转储。

是的,这种吮吸。我真的很想教pg_dump将pg_dumpall输出嵌入到-Fc转储中,但现在不幸的是,它不知道你自己要怎么做。

在编写时(9.4),还有一个令人讨厌的注意事项:pg_dump和pg_dumpall中的–globals-only模式都将转储用户访问DATABASE上的GRANT。

您还应该了解物理备份 – pg_basebackup,PgBarman和WAL归档,PITR等。它们提供了更精细的细分恢复,直到分钟或单个事务。缺点是它们占用更多空间,只能在同一平台上恢复到相同的Postgresql版本,并备份所有数据库中的所有表,无需排除任何内容

猜你在找的Postgre SQL相关文章