postgresql - pg_pathman - 外键

时间:2017-03-07 11:57:28

标签: postgresql

您好我正在尝试对表进行分区...但此表有fk引用我的表。

SELECT create_hash_partitions('crm.carga',  'id_carga', 100);

[Content]
ERRO:  foreign key "fk_carga_cliente_id_carga" references relation "carga"
CONTEXT:  função PL/pgSQL common_relation_checks(regclass,text) linha 31 em RAISE
comando SQL "SELECT public.common_relation_checks(parent_relid, attribute)"
função PL/pgSQL create_hash_partitions(regclass,text,integer,boolean,text[],text[]) linha 14 em PERFORM

是否可以对具有外键的表进行分区?

1 个答案:

答案 0 :(得分:1)

您无法在' crm.carga'上执行create_hash_partitions,因为其他表引用它,请查看code

FOR v_rec IN (SELECT *
                  FROM pg_constraint WHERE confrelid = p_relation::regclass::oid)
    LOOP
        is_referenced := TRUE;
        RAISE WARNING 'foreign key ''%'' references relation ''%''',
                v_rec.conname, p_relation;
    END LOOP;

所以答案是:是的,你可以。但不是pg_pathman的函数create_hash_partitions