您好我正在尝试对表进行分区...但此表有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
是否可以对具有外键的表进行分区?
答案 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