Partitioning

我可以對列表分區中的值使用 SELECT 語句嗎?還是我需要明確說明它們?

  • June 28, 2019

因此,我有一個要分區的表,並且在創建分區時,我嘗試執行如下語句:

partition by list(apple_type)

create table foo.apples_green 
partition of foo.apples_master 
for values in(select apple_type from foo.fruits where fruit_type = 'apples' and color ='green');

不幸的是,我不斷收到錯誤消息:錯誤:“選擇”處或附近的語法。我不明白這是否只是不能在 postgres10 中完成的事情,或者我是否完全缺少某種類型的語法。任何幫助都會很棒。

非常感謝!

如有疑問,請閱讀詳細手冊,其中介紹了分區邊界:

partition_bound_spec

IN ( { numeric_literal | string_literal | TRUE | FALSE | NULL } [, ...] ) |
FROM ( { numeric_literal | string_literal | TRUE | FALSE | MINVALUE | MAXVALUE } [, ...] )
TO ( { numeric_literal | string_literal | TRUE | FALSE | MINVALUE | MAXVALUE } [, ...] )

它沒有說“子選擇”;只允許使用文字值和替代文字值的特殊關鍵字。

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