Postgresql

Postgres 分區避免冗餘列

  • August 27, 2020

假設我有一張表,說project_data有很多行,其中數據可以按列分組,然後將每個值project_id integer分區到一個表中。project_id

當值是隱式時,我是否需要project_id每個分區表中的列?

似乎在 project_data_5 中有一個額外的列project_id integer not null default 5是多餘的,因為它在該表中永遠不會有除 5 之外的值。

這適用於 postgresql 10。

是的,分區列必須是表的一部分。

我假設您正在使用列表分區。現在使用列表分區,同一分區 ( ) 中的分區列可以有多個值FOR VALUES IN (1, 2, 27),因此不能從表中省略分區列。

此外,分區的主要功能之一是您可以快速附加和分離分區。現在,如果未儲存分區鍵,則附加和分離分區都需要重寫表。

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