On Thu, 2024-01-18 at 15:54 +0100, Peter Eisentraut wrote:
> On 27.11.23 03:30, Laurenz Albe wrote:
> > True; I don't find it documented that all objects in pg_class share a
> > namespace and that constraints are implemented by indexes of the same
> > name. But I think that the first part is a property of schemas and had
> > better be documented there.
>
> It is documented prominently on the CREATE INDEX reference page. We
> could document it in more places, of course. I find the specific change
> proposal for ddl.sgml a bit weird, though, because this is a very
> introductory section, and you are referring people to pg_class (what is
> that?!?) for details. If we want to put something there, it should
> respect the order in which that chapter introduces concepts.
>
> The changes on create_table.sgml seem ok. Although I had actually
> expected that the system applies the find-a-unique-name routine rather
> than taking the constraint name for the index name unaltered.
>
> Perhaps taking the create_table.sgml changes and combination with the
> existing text on CREATE INDEX is sufficient.
Ah, I didn't see the CREATE INDEX page. (As an aside: too much
conceptual stuff is documented in our reference pages, but that's a
different issue.)
For me, the intuitive place to look for information like that is the
"Data Definition" chapter, so I think we should mention it there.
I agree that "pg_class" is too advanced for that chapter, even though
there is an earlier reference to it under "System Columns".
In the attached patch, I have copied the enumeration of relations from
the CREATE INDEX page. I think this small redundance is alright, but I
wouldn't mind if this gets removed from CREATE INDEX.
The rest is unmodified.
Yours,
Laurenz Albe