Foreign key constraint not enforced?? - Mailing list pgsql-bugs

From Moshe Jacobson
Subject Foreign key constraint not enforced??
Date
Msg-id CAJ4CxLkR2VaZV26w=2T8V19s2Ph5xNtPDCoPFDghs5PoWhQKSA@mail.gmail.com
Whole thread Raw
Responses Re: Foreign key constraint not enforced??  (Moshe Jacobson <moshe@neadwerx.com>)
Re: Foreign key constraint not enforced??  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
I'm not sure what is going on here. I feel like I'm missing something
obvious. Seems like a bug, so I'm posting on -bugs.

Please see the transcript below:

postgres@moshe=3D>isesdb:apache=3D# \d tb_error_log_event
                                    Table "public.tb_error_log_event"
        Column        |            Type             |
    Modifiers
----------------------+-----------------------------+----------------------=
-------------------------------
 error_log_event      | bigint                      | not null default
nextval('sq_pk_error_log_event'::r.
                      |                             |.egclass)
 created              | timestamp without time zone | not null default now(=
)
 logged               | timestamp without time zone | not null
 message_placeholders | integer[]                   |
 error_log_message    | bigint                      | not null
 client_ip            | inet                        | not null
 server               | integer                     | not null
 domain               | integer                     | not null
 log_level            | integer                     | not null
Indexes:
    "tb_error_log_event_pkey" PRIMARY KEY, btree (error_log_event)
Foreign-key constraints:
    "tb_error_log_event_domain_fkey" FOREIGN KEY (domain) REFERENCES
tb_domain(domain)
    "tb_error_log_event_error_log_message_fkey" FOREIGN KEY
(error_log_message) REFERENCES tb_error_log_message(error_log_message)
    "tb_error_log_event_log_level_fkey" FOREIGN KEY (log_level)
REFERENCES tb_log_level(log_level)
    "tb_error_log_event_server_fkey" FOREIGN KEY (server) REFERENCES
tb_server(server)
Number of child tables: 1 (Use \d+ to list them.)

postgres@moshe=3D>isesdb:apache=3D# select error_log_event,
error_log_message from tb_error_log_event;
 error_log_event | error_log_message
-----------------+-------------------
              17 |                 5
              18 |                 6
(2 rows)

Time: 0.853 ms
postgres@moshe=3D>isesdb:apache=3D# select * from tb_error_log_message;
 error_log_message |                                     message_body
-------------------+-------------------------------------------------------=
-------------------------------
                 6 | test error log message ? ? ? ? ? ?-lalala  ,
referer: http://ises.robert.neadwerx.co.
                   |.m/reports/reports.php
(1 row)

Time: 0.782 ms
postgres@moshe=3D>isesdb:apache=3D#

Surprisingly, I was able to pg_dump and pg_restore the database, and the
inconsistency remained!

Fortunately, also, I am able to share the pg_dump. You can download it here=
:

Binary dump: https://dl.dropboxusercontent.com/u/12192123/apache.pg_dump
Text dump: https://dl.dropboxusercontent.com/u/12192123/apache.pg_dump.sql

Thanks for any insight.

Moshe Jacobson
Manager of Systems Engineering, Nead Werx Inc. <http://www.neadwerx.com>
2323 Cumberland Parkway =B7 Suite 201 =B7 Atlanta, GA 30339

"Quality is not an act, it is a habit." -- Aristotle

pgsql-bugs by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Possible transaction bug with isolation level serialisable?
Next
From: Moshe Jacobson
Date:
Subject: Re: Foreign key constraint not enforced??