Re: \d+ fails on index on partition
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org, Alvaro Herrera <alvherre@2ndquadrant.com>
Date: 2018-09-27T20:51:39Z
Lists: pgsql-hackers
Justin Pryzby <pryzby@telsasoft.com> writes: > pg_get_partition_constraintdef() doesn't like being passed a relkind='I', It'll also fall over if the passed OID isn't a relation at all, which is also very much not-nice for SQL-exposed inquiry functions. I'm inclined to fix this by (1) inventing an lsyscache function to fetch relispartition, which will have the behavior of returning false for a lookup failure (which is generally consistent with the behavior of most of the other lsyscache functions). (2) replace the if (rel->rd_rel->relispartition) check in get_partition_qual_relid with a test like if (get_rel_relispartition(relid)), and don't open the Relation at all unless that succeeds. regards, tom lane
Commits
-
Fix assorted bugs in pg_get_partition_constraintdef().
- aaf10f32a308 12.0 landed
- dff3f06dc95e 10.6 landed
- 49507dec4601 11.0 landed
-
Local partitioned indexes
- 8b08f7d4820f 11.0 cited