I need to enumerate the constraints on any given column in a table, so I'm examining pg_constraint to get the relevant information. The conkey array contains a list of constrained columns, and although I am able to check conkey[1] for constraints on a single column, I would like to properly handle multi-column constraints.
How do I determine the size of the conkey array? I haven't found any field that looks like it contains the number of values in conkey. Do I have to check each element of the array sequentially, until I get a NULL value from one of them? (Section 5.12 of the User's Guide seems to forbid this: "A limitation of the present array implementation is that individual elements of an array cannot be SQL null values.") Moreover, that method doesn't give me a nice way of selecting all constraints on a specific column, as I would have to write clauses like this: ... WHERE conkey[1] = blah OR conkey[2] = blah OR conkey[3] = blah OR conkey[4] = blah ... Can somone offer a better way? ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html