PostgreSQL按范围分区如何创建200及以上数值的分区
PostgreSQL范围分区200及以上区间的正确写法
你写错的原因是范围分区的语法要求必须同时指定上下边界,对于无上限的区间需要用MAXVALUE关键字标记上限。
正确的创建语句如下:
CREATE TABLE grade_200_all PARTITION OF grade_main FOR VALUES FROM (200) TO (MAXVALUE);
补充说明:
- PostgreSQL范围分区采用左闭右开的边界规则,你之前创建的两个分区分别覆盖
[0,100)和[100,200)的区间,和你要求的分区规则完全匹配 MAXVALUE表示分区字段类型的最大取值,[200, MAXVALUE)的范围刚好覆盖所有200及以上的数值- 注意不要将起始边界设为你之前写的150,否则会和
[100,200)的分区出现边界重叠,触发创建报错
内容的提问来源于stack exchange,提问作者Adharsh M
相关产品推荐
相关产品推荐

