BUG #11638: Transaction safety fails when constraints are dropped and analyze is done

Casey & Gina <cg@osss.net>

From: cg@osss.net
To: pgsql-bugs@postgresql.org
Date: 2014-10-10T18:14:33Z
Lists: pgsql-bugs
The following bug has been logged on the website:

Bug reference:      11638
Logged by:          Casey Allen Shobe
Email address:      cg@osss.net
PostgreSQL version: 9.3.5
Operating system:   Linux (RHEL 5)
Description:        

Discovered on 8.4.5, reproducible on 9.3.5.

The paste pretty much explains it all:
http://pgsql.privatepaste.com/162682d176

When, within a transaction:
* I drop a foreign key (or any) constraint.
* Load some data to the table which won't fit the constraint.
* Analyze the table.
* Attempt to re-add the constraint which fails and should roll back the
whole transaction.

The constraint is still missing after rollback.

If I take out the analyze step, it works as expected.