加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:02:23 所属栏目:百科 来源:网络整理
导读:我的pg_dump返回约束是在转储文件末尾的alter query中.我希望那些在create table(…)部分中. 例如.我使用约束创建了一个如下表: CREATE TABLE "test_constraints" ( "id" serial NOT NULL,"user_id" bigint NOT NULL,PRIMARY KEY ("id"),CONSTRAINT "user_i
我的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阶段创建.出于性能原因,您希望在批量加载后创建主键和唯一约束.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读