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

Creating primary key in postgresql takes days

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

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

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

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