Postgresql Greenplum中的多列划分

Postgresql Greenplum中的多列划分,postgresql,database-partitioning,greenplum,multiple-columns,Postgresql,Database Partitioning,Greenplum,Multiple Columns,我正在尝试使用PostgreSQL在Greenplum数据库中进行多列分区。但是我不断地得到一个错误- 错误:分区键有2列,但在值中指定了1列 第15行:数值“10001”、“2014-03-11”, ^ **********错误********** 错误:分区键有2列,但在值中指定了1列 子句SQL状态:42P16字符:341 这是我使用的查询: CREATE TABLE EMP_TABLE ( EMP_ID CHARACTER VARYING(9) NOT NULL, JOB_ID

我正在尝试使用PostgreSQL在Greenplum数据库中进行多列分区。但是我不断地得到一个错误-

错误:分区键有2列,但在值中指定了1列 第15行:数值“10001”、“2014-03-11”, ^ **********错误**********

错误:分区键有2列,但在值中指定了1列 子句SQL状态:42P16字符:341

这是我使用的查询:

CREATE TABLE EMP_TABLE
(
  EMP_ID CHARACTER VARYING(9) NOT NULL,
  JOB_ID CHARACTER VARYING(10) NOT NULL,
  DT_OF_JOIN DATE NOT NULL,
  SALARY NUMERIC(20,8) NOT NULL
--  CONSTRAINT ENTITY_MODEL_SCORE_PKEY PRIMARY KEY (ENTITY_ID, MODEL_ID, MODEL_RUN_DT)
)
WITH (
  OIDS=FALSE
)
DISTRIBUTED BY (EMP_ID)
PARTITION BY LIST(EMP_ID,DT_OF_JOIN)
(
VALUES ('10001','2014-03-11'),
VALUES ('10002','2014-03-12')
)

我不确定我错过了什么。有人能帮我用正确的语法使用PostgreSQL在Greenplum中进行多列分区吗?

您可以在下面使用子分区进行尝试

CREATE TABLE sandbox.EMP_TABLE
(
  EMP_ID CHARACTER VARYING(9) NOT NULL,
  JOB_ID CHARACTER VARYING(10) NOT NULL,
  DT_OF_JOIN date NOT NULL,
  SALARY NUMERIC(20,8) NOT NULL
--  CONSTRAINT ENTITY_MODEL_SCORE_PKEY PRIMARY KEY (ENTITY_ID, MODEL_ID, MODEL_RUN_DT)
)
WITH (
  OIDS=FALSE
)
DISTRIBUTED BY (JOB_ID)
PARTITION BY LIST(EMP_ID)
    SUBPARTITION BY LIST(DT_OF_JOIN) 
    SUBPARTITION TEMPLATE
   (
      SUBPARTITION year1 VALUES ('2014-03-11'),
      SUBPARTITION year2 VALUES ('2014-03-12')
   )
(
    values ('1001'),
    values('10002')
)