在 postgresql 中创建主键需要几天时间

问题描述

我正在尝试将我的表写入 PostgreSQL 数据库,然后声明一个主键。我的数据真的很大(包括数十亿行,总大小约为 150 GB),当我在写表后尝试创建主键时,它需要永远。这是我定义主键的方式;

ALTER TABLE my_huge_table ADD CONSTRAINT huge_pk PRIMARY KEY (column_x,column_y)

我 %101 确定这些列的唯一性并且它们不为空。什么都不等真的没有必要,我正在寻找一条不浪费时间的退路。我想肯定有人遇到过这样的情况。等待您的宝贵帮助。

解决方法

你不是在等什么。您可能正在等待建立索引。将来需要该索引来强制执行主键。如果系统相信你的声明它已经是唯一的,那真的不会给你带来太多好处,它仍然需要构建索引。如果您相信现在没有违反主键,并且相信将来没有人会尝试违反它,那么不要添加主键。只需添加一条评论,说明您知道这是一个主键,但出于性能原因不会正式声明它。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...