follows the covering constraint, so: E1 ⋃ E2 ⋃ E3 = E0
does not follow the overlapping 'constraint' ⇒ is disjoint, so: E1 ⋂ E2 ⋂ E3 = ∅
The maximum and minimum amount of entities in E0 is 60. Since no overlapping is allowed there will be 15 + 20 + 25 = 60 distinct entities, which are all entities of superentity E0 at the same time ...
Sounds like you want a FOREIGN KEY constraint!
You should do something like this:
CREATE TABLE B (primary_key_value INTEGER PRIMARY KEY... other fields);
CREATE TABLE A (primary_key_field PRIMARY KEY, foreign_key_value INTEGER, other fields...
FOREIGN KEY (foreign_key_value) REFERENCES B (primary_key_value);
If you ...
If you get that message although the image_id is present in mcqueen_base_image, you must be dealing with data corruption.
and see if the problem persists.
If there are still problems, you'll have to repair the data manually. Then
dump and restore the database to a new cluster to get rid of any lingering data corruption....
Without messing with the catalogs (which is not commendable), the only option I can think of would require you to do without foreign keys for a while:
You can define a second UNIQUE index on the table that contains the appropriate INCLUDE clause.
If you use the CONCURRENTLY clause of CREATE INDEX, that shouldn't be disruptive.
Then you can delete the ...