From 2e2d56fea97f43cf8c40a87143bc10356e4ed4d4 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 9 Feb 2011 23:26:48 +0200 Subject: Information schema views for collation support Add the views character_sets, collations, and collation_character_set_applicability. --- doc/src/sgml/information_schema.sgml | 251 +++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) (limited to 'doc/src') diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml index 5861595c292..52407a741fe 100644 --- a/doc/src/sgml/information_schema.sgml +++ b/doc/src/sgml/information_schema.sgml @@ -498,6 +498,140 @@ + + <literal>character_sets</literal> + + + The view character_sets identifies the character + sets available in the current database. Since PostgreSQL does not + support multiple character sets within one database, this view only + shows one, which is the database encoding. + + + + Take note of how the following terms are used in the SQL standard: + + + character repertoire + + + An abstract collection of characters, for + example UNICODE, UCS, or + LATIN1. Not exposed as an SQL object, but + visible in this view. + + + + + + character encoding form + + + An encoding of some character repertoire. Most older character + repertoires only use one encoding form, and so there are no + separate names for them (e.g., LATIN1 is an + encoding form applicable to the LATIN1 + repertoire). But for example Unicode has the encoding forms + UTF8, UTF16, etc. (not + all supported by PostgreSQL). Encoding forms are not exposed + as an SQL object, but are visible in this view. + + + + + + character set + + + A named SQL object that identifies a character repertoire, a + character encoding, and a default collation. A predefined + character set would typically have the same name as an encoding + form, but users could define other names. For example, the + character set UTF8 would typically identify + the character repertoire UCS, encoding + form UTF8, and some default collation. + + + + + + You can think of an encoding in PostgreSQL either as + a character set or a character encoding form. They will have the + same name, and there can only be one in one database. + + + + <literal>character_sets</literal> Columns + + + + + Name + Data Type + Description + + + + + + character_set_catalog + sql_identifier + Character sets are currently not implemented as schema objects, so this column is null. + + + + character_set_schema + sql_identifier + Character sets are currently not implemented as schema objects, so this column is null. + + + + character_set_name + sql_identifier + Name of the character set, currently implemented as showing the name of the database encoding + + + + character_repertoire + sql_identifier + Character repertoire, showing UCS if the encoding is UTF8, else just the encoding name + + + + form_of_use + sql_identifier + Character encoding form, same as the database encoding + + + + default_collate_catalog + sql_identifier + Name of the database containing the default collation (always the current database, if any collation is identified) + + + + default_collate_schema + sql_identifier + Name of the schema containing the default collation + + + + default_collate_name + sql_identifier + + Name of the default collation. The default collation is + identified as the collation that matches + the COLLATE and CTYPE + settings of the current database. If there is no such + collation, then this column and the associated schema and + catalog columns are null. + + + + +
+
+ <literal>check_constraint_routine_usage</literal> @@ -615,6 +749,123 @@ + + <literal>collations</literal> + + + The view collations contains the collations + available in the current database. + + + + <literal>collations</literal> Columns + + + + + Name + Data Type + Description + + + + + + collation_catalog + sql_identifier + Name of the database containing the collation (always the current database) + + + + collation_schema + sql_identifier + Name of the schema containing the collation + + + + collation_name + sql_identifier + Name of the default collation + + + + pad_attribute + character_data + + Always NO PAD (The alternative PAD + SPACE is not supported by PostgreSQL.) + + + + +
+
+ + + <literal>collation_character_set_applicability</literal> + + + The view collation_character_set_applicability + identifies which character set the available collations are + applicable to. In PostgreSQL, there is only one character set per + database (see explanation + in ), so this view does + not provide much useful information. + + + + <literal>collation_character_set_applicability</literal> Columns + + + + + Name + Data Type + Description + + + + + + collation_catalog + sql_identifier + Name of the database containing the collation (always the current database) + + + + collation_schema + sql_identifier + Name of the schema containing the collation + + + + collation_name + sql_identifier + Name of the default collation + + + + character_set_catalog + sql_identifier + Character sets are currently not implemented as schema objects, so this column is null + + + + character_set_schema + sql_identifier + Character sets are currently not implemented as schema objects, so this column is null + + + + character_set_name + sql_identifier + Name of the character set + + + +
+
+ <literal>column_domain_usage</literal> -- cgit v1.2.3