【问题标题】:pg_dumpall excluding some tablespg_dumpall 不包括一些表
【发布时间】:2018-02-19 10:01:16
【问题描述】:

我想获得 postgres 9.6 的完整备份。包括用户和权限。但是我想排除一些表。在pg_dump 中有一个用于排除某些表的选项 (-T)。但是在pg_dumpall 中没有这样的选项。

有没有办法在单个命令中获得这样的备份?或者我应该得到pg_dumpall(没有表格)和pg_dump-T?然而,在第二种情况下,这两个转储并未完全同步。

【问题讨论】:

    标签: postgresql database-backups pg-dump pg-dumpall


    【解决方案1】:

    您必须使用pg_dumpall -gpg_dump -T

    确实,转储不会共享单个快照,但除非您非常频繁地添加、修改或删除用户和表空间,否则这在实践中应该不是问题。

    【讨论】:

    • pg_dumball -g 是否包含对表的用户权限?或者这是否包含在pg_dump 中?还是根本没有?
    • 我在pg_dump 中找到了这个选项:--no-privileges 因此我认为默认情况下pg_dump 包含特权。
    • pg_dumpall -g 只会转储用户和表空间,对数据库对象没有权限。
    • 我对@9​​87654329@ 的想法包括权限(当--no-privileges 未使用时)是否属实?
    • 是的,pg_dump 转储了创建数据库完美副本所需的一切,因此它还包含GRANT 语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2017-09-23
    相关资源
    最近更新 更多