From af8c580e5cf32bb85dde70083a260c93a1f783eb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 2 Nov 2021 12:12:02 -0400 Subject: [PATCH] Doc: be more precise about conflicts between relation names. Use verbiage like "The name of the table must be distinct from the name of any other relation (table, sequence, index, view, materialized view, or foreign table) in the same schema." in the reference pages for all those object types. The main change here is to mention materialized views explicitly; although a couple of these pages failed to say anything at all about name conflicts. Per suggestion from Daniel Westermann. Discussion: https://postgr.es/m/ZR0P278MB0920D0946509233459AF0DEFD2889@ZR0P278MB0920.CHEP278.PROD.OUTLOOK.COM --- doc/src/sgml/ref/create_foreign_table.sgml | 4 ++-- doc/src/sgml/ref/create_index.sgml | 5 ++++- doc/src/sgml/ref/create_materialized_view.sgml | 4 +++- doc/src/sgml/ref/create_sequence.sgml | 5 +++-- doc/src/sgml/ref/create_table.sgml | 4 ++-- doc/src/sgml/ref/create_view.sgml | 4 ++-- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/ref/create_foreign_table.sgml b/doc/src/sgml/ref/create_foreign_table.sgml index f9477efe58..9674670e04 100644 --- a/doc/src/sgml/ref/create_foreign_table.sgml +++ b/doc/src/sgml/ref/create_foreign_table.sgml @@ -69,8 +69,8 @@ CHECK ( expression ) [ NO INHERIT ] myschema.mytable ...) then the table is created in the specified schema. Otherwise it is created in the current schema. The name of the foreign table must be - distinct from the name of any other foreign table, table, sequence, index, - view, or materialized view in the same schema. + distinct from the name of any other relation (table, sequence, index, view, + materialized view, or foreign table) in the same schema. diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml index cc484d5b39..89a4d746f6 100644 --- a/doc/src/sgml/ref/create_index.sgml +++ b/doc/src/sgml/ref/create_index.sgml @@ -202,7 +202,10 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] The name of the index to be created. No schema name can be included here; the index is always created in the same schema as its parent - table. If the name is omitted, PostgreSQL chooses a + table. The name of the index must be distinct from the name of any + other relation (table, sequence, index, view, materialized view, or + foreign table) in that schema. + If the name is omitted, PostgreSQL chooses a suitable name based on the parent table's name and the indexed column name(s). diff --git a/doc/src/sgml/ref/create_materialized_view.sgml b/doc/src/sgml/ref/create_materialized_view.sgml index d8c48252f4..0d2fea2b97 100644 --- a/doc/src/sgml/ref/create_materialized_view.sgml +++ b/doc/src/sgml/ref/create_materialized_view.sgml @@ -77,7 +77,9 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name The name (optionally schema-qualified) of the materialized view to be - created. + created. The name must be distinct from the name of any other relation + (table, sequence, index, view, materialized view, or foreign table) in + the same schema. diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml index e4085804a4..20bdbc002f 100644 --- a/doc/src/sgml/ref/create_sequence.sgml +++ b/doc/src/sgml/ref/create_sequence.sgml @@ -46,8 +46,9 @@ CREATE [ TEMPORARY | TEMP ] SEQUENCE [ IF NOT EXISTS ] numeric_literal, REM schema. Otherwise it is created in the current schema. Temporary tables exist in a special schema, so a schema name cannot be given when creating a temporary table. The name of the table must be - distinct from the name of any other table, sequence, index, view, - or foreign table in the same schema. + distinct from the name of any other relation (table, sequence, index, view, + materialized view, or foreign table) in the same schema. diff --git a/doc/src/sgml/ref/create_view.sgml b/doc/src/sgml/ref/create_view.sgml index 4b5b1cf795..bf03287592 100644 --- a/doc/src/sgml/ref/create_view.sgml +++ b/doc/src/sgml/ref/create_view.sgml @@ -52,8 +52,8 @@ CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW