a) Don't forget: constraint, function, procedure, trigger.
b) The hint applies to each of such objects: CREATE [TABLE|VIEW|FUNCTION|...]. To avoid such redundancy we could extend and clarify the definition of 'SQL object / local object / global object' within the glossary and refer to it.
c) In general we have 3 levels (namespaces) where object names are unique across the same or different types.
* cluster-level: database name, tablespace, replication origin, subscription for logical replication, role, ...? * database-level: schema, extension, collation, data type cast, ...? * schema-level: table, index, view, materialized view, foreign table, sequence, constraint, function, procedure, trigger, operator, ...? -- Jürgen Purtz