From 293913568e6a7a86fd1479e1cff8e2ecb58d6568 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 15:44:03 +0200 Subject: Adding upstream version 16.2. Signed-off-by: Daniel Baumann --- doc/src/sgml/html/catalog-pg-collation.html | 98 +++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 doc/src/sgml/html/catalog-pg-collation.html (limited to 'doc/src/sgml/html/catalog-pg-collation.html') diff --git a/doc/src/sgml/html/catalog-pg-collation.html b/doc/src/sgml/html/catalog-pg-collation.html new file mode 100644 index 0000000..4b612e3 --- /dev/null +++ b/doc/src/sgml/html/catalog-pg-collation.html @@ -0,0 +1,98 @@ + +53.12. pg_collation

53.12. pg_collation #

+ The catalog pg_collation describes the + available collations, which are essentially mappings from an SQL + name to operating system locale categories. + See Section 24.2 for more information. +

Table 53.12. pg_collation Columns

+ Column Type +

+

+ Description +

+ oid oid +

+

+ Row identifier +

+ collname name +

+

+ Collation name (unique per namespace and encoding) +

+ collnamespace oid + (references pg_namespace.oid) +

+

+ The OID of the namespace that contains this collation +

+ collowner oid + (references pg_authid.oid) +

+

+ Owner of the collation +

+ collprovider char +

+

+ Provider of the collation: d = database + default, c = libc, i = icu +

+ collisdeterministic bool +

+

+ Is the collation deterministic? +

+ collencoding int4 +

+

+ Encoding in which the collation is applicable, or -1 if it + works for any encoding +

+ collcollate text +

+

+ LC_COLLATE for this collation object +

+ collctype text +

+

+ LC_CTYPE for this collation object +

+ colliculocale text +

+

+ ICU locale ID for this collation object +

+ collicurules text +

+

+ ICU collation rules for this collation object +

+ collversion text +

+

+ Provider-specific version of the collation. This is recorded when the + collation is created and then checked when it is used, to detect + changes in the collation definition that could lead to data corruption. +


+ Note that the unique key on this catalog is (collname, + collencoding, collnamespace) not just + (collname, collnamespace). + PostgreSQL generally ignores all + collations that do not have collencoding equal to + either the current database's encoding or -1, and creation of new entries + with the same name as an entry with collencoding = -1 + is forbidden. Therefore it is sufficient to use a qualified SQL name + (schema.name) to identify a collation, + even though this is not unique according to the catalog definition. + The reason for defining the catalog this way is that + initdb fills it in at cluster initialization time with + entries for all locales available on the system, so it must be able to + hold entries for all encodings that might ever be used in the cluster. +

+ In the template0 database, it could be useful to create + collations whose encoding does not match the database encoding, + since they could match the encodings of databases later cloned from + template0. This would currently have to be done manually. +

\ No newline at end of file -- cgit v1.2.3