Re: Add A Glossary - Mailing list pgsql-hackers

From Jürgen Purtz
Subject Re: Add A Glossary
Date
Msg-id 0ba54895-2455-60d7-3244-36030ff2f1e4@purtz.de
Whole thread Raw
In response to Re: Add A Glossary  (Corey Huinker <corey.huinker@gmail.com>)
Responses Re: Add A Glossary  (Corey Huinker <corey.huinker@gmail.com>)
List pgsql-hackers

The statement that names of schema objects are unique isn't strictly true, just mostly true. Take the case of a unique constraints.

Concerning CONSTRAINTS you are right. Constraints seems to be an exception:

  • Their name belongs to a schema, but are not necessarily unique within this context: https://www.postgresql.org/docs/current/catalog-pg-constraint.html.
  • There is a UNIQUE index within the system catalog pg_constraints:  "pg_constraint_conrelid_contypid_conname_index" UNIQUE, btree (conrelid, contypid, conname), which expresses that names are unique within the context of a table/constraint-type. Nevertheless tests have shown that some stronger restrictions exists across table-boarders (,which seems to be implemented in CREATE statements - or as a consequence of your mentioned correlation between constraint and index ?).

I hope that there are no more such exception to the global rule 'object names in a schema are unique': https://www.postgresql.org/docs/current/sql-createschema.html

This facts must be mentioned as a short note in glossary and in more detail in the later patch about the architecture.

J. Purtz


pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: [PATCH] Erase the distinctClause if the result is unique by definition
Next
From: Thomas Munro
Date:
Subject: Re: The flinfo->fn_extra question, from me this time.