La vue character_sets identifie les jeux de caractères disponibles pour la base de données courante. Comme PostgreSQL ne supporte pas plusieurs jeux de caractères dans une base de données, cette vue n'en affiche qu'une, celle qui correspond à l'encodage de la base de données.
Les termes suivants sont utilisés dans le standard SQL :
Un ensemble abstrait de caractères, par exemple UNICODE, UCS ou LATIN1. Non exposé en tant qu'objet SQL mais visible dans cette vue.
Un encodage d'un certain répertoire de caractères. La plupart des anciens répertoires de caractères utilisent seulement un encodage. Du coup, il n'y a pas de noms séparés pour eux (par exemple LATIN1 est une forme d'encodage applicable au répertoire LATIN1). Par contre, Unicode dispose des formats d'encodage UTF8, UTF16, etc. (ils ne sont pas tous supportés par PostgreSQL). Les formes d'encodage ne sont pas exposés comme un objet SQL mais ils sont visibles dans cette vue.
Un objet SQL nommé qui identifie un répertoire de caractères, un encodage de caractères et un collationnement par défaut. Un jeu de caractères prédéfini aura généralement le même nom qu'une forme d'endodage mais les utilisateurs peuvent définir d'autres noms. Par exemple, le jeu de caractères UTF8 identifiera typiquement le répertoire des caractères UCS, la forme d'encodage UTF8 et un collationnement par défaut.
Dans PostgreSQL, un « encodage » peut être vu comme un jeu de caractères ou une forme d'encodage des caractères. Ils auront le même nom et il n'y en a qu'un dans une base de données.
Tableau 35.5. Colonnes de character_sets
Nom | Type de données | Description |
---|---|---|
character_set_catalog | sql_identifier | Les jeux de caractères ne sont pas actuellement implémentés comme des objets du schéma, donc cette colonne est NULL. |
character_set_schema | sql_identifier | Les jeux de caractères ne sont pas actuellement implémentés comme des objets du schéma, donc cette colonne est NULL. |
character_set_name | sql_identifier | Nom du jeu de caractères, mais affiche actuellement le nom de l'encodage de la base de données |
character_repertoire | sql_identifier | Répertoire des caractères, affichant UCS si l'encodage est UTF8, et le nom de l'encodage sinon |
form_of_use | sql_identifier | Forme d'encodage des caractères, identique à l'encodage de la base de données |
default_collate_catalog | sql_identifier | Nom de la base de données contenant le collationnement par défaut (toujours la base de données courante si un collationnement est identifié) |
default_collate_schema | sql_identifier | Nom du schéma contenant le collationnement par défaut |
default_collate_name | sql_identifier | Nom du collationnement par défaut. Il est identifié comme le collationnement qui correspond aux paramètres COLLATE et CTYPE pour la base de données courante. S'il n'y a pas de collationnement, cette colonne, le schéma associé et les colonnes du catalogue sont NULL. |