PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 10.23 » Interfaces client » Schéma d'information » character_sets

36.7. character_sets

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 :

répertoire de caractères (character repertoire

Un ensemble abstrait de caractères, par exemple UNICODE, UCS ou LATIN1. Non exposé en tant qu'objet SQL mais visible dans cette vue.

forme d'encodage de caractères (character encoding form)

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.

jeu de caractères (character set)

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'encodage 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 36.5. Colonnes de character_sets

NomType de donnéesDescription
character_set_catalogsql_identifierLes jeux de caractères ne sont pas actuellement implémentés comme des objets du schéma, donc cette colonne est NULL.
character_set_schemasql_identifierLes jeux de caractères ne sont pas actuellement implémentés comme des objets du schéma, donc cette colonne est NULL.
character_set_namesql_identifierNom du jeu de caractères, mais affiche actuellement le nom de l'encodage de la base de données
character_repertoiresql_identifierRépertoire des caractères, affichant UCS si l'encodage est UTF8, et le nom de l'encodage sinon
form_of_usesql_identifierForme d'encodage des caractères, identique à l'encodage de la base de données
default_collate_catalogsql_identifierNom 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_schemasql_identifierNom du schéma contenant le collationnement par défaut
default_collate_namesql_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.