Postgresql

Postgresql:按初始表的欄位進行 LIKE 和分區

  • February 3, 2020

我有一個已經存在的表,我想對其進行分區,查看文件我發現這不會發生,所以我重新創建了表並嘗試對其進行分區:

CREATE TABLE tableB (LIKE tableA INCLUDING ALL) PARTITION BY range (field1_in_tableA, field2_in_tableA);

但我得到:

ERROR:  insufficient columns in PRIMARY KEY constraint definition
DETAIL:  PRIMARY KEY constraint on table "tableB" lacks column "field1_in_tableA" which is part of the partition key.

有什麼解決方法嗎?

如果您有主鍵,則不能按不屬於主鍵的鍵進行分區。您想要新表上的主鍵嗎?如果是這樣,您必須將 field1_in_tableA 添加到主鍵,或者將其從分區鍵中刪除。

引用自:https://dba.stackexchange.com/questions/258798