使用 pg_dump 的选择性模式转储

Posted

技术标签:

【中文标题】使用 pg_dump 的选择性模式转储【英文标题】:Selective Schema dump using pg_dump 【发布时间】:2021-02-23 02:35:37 【问题描述】:

我是 Postgres 的新手,我的任务是备份一个 PG 数据库并将其恢复到另一个,我的源 Postgres 数据库有 150 个模式,但我的任务是选择性地仅从 150 转储 75 并将 75 恢复到新的数据库服务器中,我打算使用 pg_dump 来做同样的事情。我需要从列表中排除的 75 具有相似的名称,都以名称 PatSchema_x 开头,x 可以是 1,2,3....N。有没有我可以将“PatSchema”之类的模式名称模式传递给 pg_dump 以便它排除所有这些模式并只转储剩余的模式。请告诉我。

谢谢

【问题讨论】:

【参考方案1】:

使用-N 选项,如the documentation 描述:

-N <em><strong>pattern</strong></em>--exclude-schema=<em><strong>pattern</strong></em>

不要转储任何匹配<em><strong>pattern</strong></em> 的模式。该模式的解释规则与 <em><strong>-n</strong></em> 相同。

所以试试

-N "PatSchema_*"

【讨论】:

以上是关于使用 pg_dump 的选择性模式转储的主要内容,如果未能解决你的问题,请参考以下文章

pg_dump

PG运维篇--逻辑备份和物理备份实战

Postgres pg_dump 每次都以不同的顺序转储数据库

使用 pg_dump 将 Postgres 从 Windows 迁移到 Linux 时如何选择正确的排序规则来创建数据库?

在 Heroku 上自动化 PSQL 数据库的 PG_DUMP

PostgreSQL数据库备份和还原