gpt4 book ai didi

postgresql - pg_dump 转储具有紧凑约束的表模式

转载 作者:行者123 更新时间:2023-11-29 11:24:45 26 4
gpt4 key购买 nike

我的返回约束的 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(...);

最佳答案

不,这是不可能的。实际上,这样做是有原因的。

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

  1. 定义表格
  2. 加载数据
  3. 创建索引

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

关于postgresql - pg_dump 转储具有紧凑约束的表模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20395521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com