Jetzt bin ich sorta PostgreSQL DBA / dev ...
und stellte sich dem bekannten Problem:
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
Hinzufügen not valid
in nutzloser Hoffnung zu validate
es später) ist auch keine Hilfe.
Ja, ich weiß, es hängt rtls
Tabelle ist jetzt ca. 2M Datensätze).
Und man muss pg_dump
die Basis, bearbeiten Sie SQL und laden Sie es zurück.
Ich habe diesen "Ratschlag" in Beiträgen seit ca. 2003 gesehen ...
Es ist 9.2.18 von der Standardbereitstellung unter CentOS 7, wenn es darauf ankommt ( es tut! ).
Ich kann nicht glauben, dass es hier über ein Jahrzehnt stecken geblieben ist ...
Was sollte ich beachten, um es zu umgehen?
Benutze sorta check
zum exists (select id from rtls where id=?)
???
Auf keinen Fall:
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