在 postgres 中导出域名

问题描述 投票:0回答:1

我想将 postgres 数据库的一些表备份到另一个空数据库中。为此,我使用带有 -t 选项的 pg_dump,但是当我恢复它时,由于缺少域而出现错误。

我找到的唯一解决方案是以 --schema-only 模式转储数据库,删除所有不涉及域的行,并在恢复表之前将其恢复到空数据库中。

问题是我需要快速进行备份,但有时我会操作大数据库,因此转储很长,即使在 --schema-only 模式下也是如此。

那么有没有一种最快的方法将域导出到另一个数据库?

postgresql dump database-backups pg-dump pg-restore
1个回答
0
投票

最简单的方法是创建自定义格式的仅模式转储,提取目录,识别

CREATE DOMAIN
语句并仅从转储中提取那些内容:

pg_dump --schema-only --format=custom --file=dump dbname

pg_restore --list dump | grep DOMAIN >domlist

pg_restore --use-list=domlist --file=domain.sql dump

这将创建一个文件

domain.sql
,其中包含所有域。

© www.soinside.com 2019 - 2024. All rights reserved.