30.15. domains

La vue domains contient tous les domaines définis dans la base de données courante.

Tableau 30-13. Colonnes de domains

NomType de donnéesDescription
domain_catalogsql_identifierNom de la base de données contenant le domaine (toujours la base de données courante)
domain_schemasql_identifierNom du schéma contenant le domaine
domain_namesql_identifierNom du domaine
data_typecharacter_data Type de données du domaine s'il s'agit d'un type interne, ou ARRAY s'il s'agit d'un tableau (dans ce cas, voir la vue element_types), sinon USER-DEFINED (dans ce cas, le type est identifié dans udt_name et comprend des colonnes associées).
character_maximum_lengthcardinal_number Si le domaine a un type caractère ou chaîne de bits, la longueur maximale déclarée ; NULL pour tous les autres types de données ou si aucune longueur maximale n'a été déclarée.
character_octet_lengthcardinal_number Si le domaine a un type caractère, la longueur maximale en octets (bytes) d'un datum (ceci ne devrait pas concerner les utilisateurs PostgreSQL) ; NULL pour tous les autres types.
character_set_catalogsql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
character_set_schemasql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
character_set_namesql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
collation_catalogsql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
collation_schemasql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
collation_namesql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
numeric_precisioncardinal_number Si le domaine a un type numérique, cette colonne contient la précision (déclarée ou implicite) du type de cette colonne. Cette précision indique le nombre de chiffres significatifs. Elle peut être exprimée en décimal (base 10) ou en binaire (base 2), comme indiqué dans la colonne numeric_precision_radix. Pour les autres types de données, cette colonne est NULL.
numeric_precision_radixcardinal_number Si le domaine a un type numérique, cette colonne indique la base des valeurs des colonnes numeric_precision et numeric_scale. La valeur est soit 2 soit 10. Pour tous les autres types de données, cette colonne est NULL.
numeric_scalecardinal_number Si le domaine a le type numeric, cette colonne contient l'échelle (déclarée ou implicite) du type pour cette colonne. L'échelle indique le nombre de chiffres significatifs à la droite du point décimal. Elle peut être exprimée en décimal (base 10) ou en binaire (base 2), comme indiqué dans la colonne numeric_precision_radix. Pour tous les autres types de données, cette colonne est NULL.
datetime_precisioncardinal_number Si le domaine a une date, heure ou un type intervalle, la précision déclarée ; NULL pour les autres types de données ou si la précision n'a pas été déclarée.
interval_typecharacter_dataPas encore implémenté
interval_precisioncharacter_dataPas encore implémenté
domain_defaultcharacter_dataExpression par défaut du domaine
udt_catalogsql_identifierNom de la base de données dans laquelle est défini le type de données domaine (toujours la base de données courante)
udt_schemasql_identifierNom du schéma où le type de données domaine est défini
udt_namesql_identifierNom du type de données domaine
scope_catalogsql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
scope_schemasql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
scope_namesql_identifierS'applique à une fonctionnalité non disponible dans PostgreSQL.
maximum_cardinalitycardinal_numberToujours NULL car les tableaux ont toujours une cardinalité maximale illimitée dans PostgreSQL
dtd_identifiersql_identifier Un identifiant du descripteur de type de données du domaine, unique parmi les descripteurs de type de données restant dans le domaine (ce qui est trivial car un domaine contient seulement un descripteur de type de données). Ceci est principalement utile pour joindre d'autres instances de tels identifiants (le format spécifique de l'identifiant n'est pas défini et il n'est pas garanti qu'il restera identique dans les versions futures).