首先是分区表建立的语句。

create Table class
(
 id numeric,

name varchar(10),

age numeric

)
Partition  By list ( age) ;


CREATE TABLE class_age11 PARTITION OF class
    FOR VALUES in  (11)  Tablespace pg_default;

CREATE TABLE class_age12 PARTITION OF class
    FOR VALUES in  (12)  Tablespace pg_default;

CREATE TABLE class_age13 PARTITION OF class
    FOR VALUES in  (13)  Tablespace pg_default;

CREATE TABLE class_agedefault PARTITION OF class
  default  Tablespace pg_default;

第一次遇到permission denied问题是在创建分区时没有指定表空间。这个在建表过程中是不会报错的。

注意表空间要指定在最末一级,比如上面这个语句表空间不能写在主表创建语句后面,而要写在分区表创建语句后,如果是二重分区就要写在二重分区创建语句后;简单来说,tablespace不能与partition by写在同一个句子里。

第二次遇到permission denied问题是,我之前一直以为对主表赋权就相当于对所有分区表赋权,但实际上需要对所有分区表分别赋权。

更多推荐