Version 4 of this patch, rebased on today's master. The main change is in dependency handling for the constraints: you now can't drop a constraint from a partition, if it's attached to a constraint in the parent (you can't drop indexes from under the constraints either, but that was true in previous versions too). Also some error message rewording. I added a bunch of additional tests.
I implemented the dependencies using pg_depend entries. However, pg_constraint has the notion of "coninhcount" and "conislocal", so I update those values for the partition's pg_constraint row, because the error messages are nicer that way. We could remove those lines from the patch and the mechanics should be pretty much identical. I'll review the doc additions, per Simon upthread. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services