Basta atualizar para a 9.6.
Meu script para atualizar aqui: link (sim, eu tive que atualizar vários nós - dev / test farm)
Agora estou meio DBA PostgreSQL / dev ...
e enfrentou o problema que parece bem conhecido:
alter table assessment -- quite simple new table: (event int, value bool)
add constraint assessment_event_fk
foreign key (event)
references rtls(id) -- it refs the primary key integer field
Adicionar not valid
(na esperança inútil de validate
depois) também não ajuda.
Sim, eu sei, ele trava (a tabela rtls
é de cerca de 2 milhões de registros agora).
E é preciso pg_dump
da base, editar o SQL e carregá-lo de volta.
Eu vi isso "aconselhar" em posts desde cerca de 2003 ...
É 9.2.18 da implantação padrão no CentOS 7, se isso for importante ( faz! ).
Eu não posso acreditar que ficou preso por mais de uma década ...
O que devo considerar para trabalhar em torno dele?
Use sorta check
para exists (select id from rtls where id=?)
???
De jeito nenhum:
vad=> alter table assessment add constraint assessment_event_fk check(exists (select rtls.id from rtls where rtls.id=event));
ERROR: cannot use subquery in check constraint
Basta atualizar para a 9.6.
Meu script para atualizar aqui: link (sim, eu tive que atualizar vários nós - dev / test farm)
Tags postgresql linux centos-7