Partitioning
我可以對列表分區中的值使用 SELECT 語句嗎?還是我需要明確說明它們?
因此,我有一個要分區的表,並且在創建分區時,我嘗試執行如下語句:
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 } [, ...] )
它沒有說“子選擇”;只允許使用文字值和替代文字值的特殊關鍵字。