微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – pg_dump转储表格模式,约束为紧凑

我的pg_dump返回约束是在转储文件末尾的alter query中.我希望那些在create table(…)部分中.

例如.我使用约束创建了一个如下表:

CREATE TABLE "test_constraints" (
    "id" serial NOT NULL,"user_id" bigint NOT NULL,PRIMARY KEY ("id"),CONSTRAINT "user_id" UNIQUE ("user_id")
);

并使用以下命令进行模式转储:

pg_dump.exe -U postgres -t "test_constraints" -f "D:\dump.sql" "postgres"

我创建它时是否可以使表架构原样(或接近那个)?我的意思是约束需要在create table(…)中;

解决方法

不,这是不可能的.实际上,事情是出于某种原因以这种方式完成的.

问题是转储通常用于批量加载,因此您希望在加载数据后创建索引.这实际上意味着您希望分三步完成:

>定义表格
>加载数据
>创建索引

现在的问题是某些约束是通过索引在内部处理的,所以它们需要在第3阶段创建.出于性能原因,您希望在批量加载后创建主键和唯一约束.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐