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

36.6. attributes

La vue attributes contient des informations sur les attributs des types de données composites définis dans la base. (La vue ne donne pas d'informations sur les colonnes de table, qui sont quelque fois appelées attributs dans le contexte de PostgreSQL.) Seuls ces attributs sont affichés plutôt que ceux auxquels l'utilisateur courant a accès (s'il est le propriétaire ou a des droits sur le type).

Tableau 36.4. Colonnes de attributes

NomType de donnéesDescription
udt_catalogsql_identifierNom de la base contenant le type de données (toujours la base courante)
udt_schemasql_identifierNom du schéma contenant le type de données
udt_namesql_identifierNom du type de données
attribute_namesql_identifierNom de l'attribut
ordinal_positioncardinal_numberPosition de l'attribut dans le type de données (le décompte commence à 1)
attribute_defaultcharacter_dataExpression par défaut de l'attribut
is_nullableyes_or_no YES si l'attribut peut être NULL, NO dans le cas contraire.
data_typecharacter_data Type de données de l'attribut 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 attribute_udt_name et les colonnes associées).
character_maximum_lengthcardinal_number Si data_type identifie un caractère ou une 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 data_type identifie un type caractère, la longueur maximale en octets (bytes) d'un datum ; NULL pour tous les autres types de données. La longueur maximale en octets dépend de la longueur maximum déclarée en caractères (voir ci-dessus) et l'encodage du serveur.
character_set_catalogsql_identifierS'applique à une fonctionnalité non disponible avec PostgreSQL
character_set_schemasql_identifierS'applique à une fonctionnalité non disponible avec PostgreSQL
character_set_namesql_identifierS'applique à une fonctionnalité non disponible avec PostgreSQL
collation_catalogsql_identifier Nom de la base contenant le collationnement de l'attribut (toujours la base de données courante), NULL s'il s'agit du collationnement par défaut ou si le type de données de l'attribut ne peut pas avoir de collationnement
collation_schemasql_identifier Nom du schéma contenant le collationnement de l'attribut, NULL s'il s'agit du collationnement par défaut ou si le type de données de l'attribut ne peut pas avoir de collationnement
collation_namesql_identifier Nom du collationnement de l'attribut, NULL s'il s'agit du collationnement par défaut ou si le type de données de l'attribut ne peut pas avoir de collationnement
numeric_precisioncardinal_number Si data_type identifie un type numérique, cette colonne contient la précision (déclarée ou implicite) du type pour cet attribut. La précision indique le nombre de chiffres significatifs. Elle peut être exprimée en décimal (base 10) ou en binaire (base 2) comme le précise la colonne numeric_precision_radix. Pour tous les autres types de données, cette colonne vaut NULL.
numeric_precision_radixcardinal_number Si data_type identifie un type numérique, cette colonne indique la base d'expression 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 data_type identifie un type numérique exact, cette colonne contient l'échelle (déclarée ou implicite) du type pour cet attribut. L'échelle indique le nombre de chiffres significatifs à droite du point décimal. Elle peut être exprimée en décimal (base 10) ou en binaire (base 2) comme le précise la colonne numeric_precision_radix. Pour tous les autres types de données, cette colonne est NULL.
datetime_precisioncardinal_number Si data_type identifie une date, une heure, un horodatage ou un interval, cette colonne contient la précision en secondes (déclarée ou implicite) pour cet attribut, c'est-à-dire le nombre de chiffres décimaux suivant le point décimal de la valeur en secondes. Pour tous les autres types de données, cette colonne est NULL.
interval_typecharacter_data Si data_type identifie un type d'intervalle, cette colonne contient la spécification des champs que les intervalles incluent pour cet attribut, par exemple YEAR TO MONTH, DAY TO SECOND, etc. Si aucune restriction de champs n'est spécifiée (autrement dit, l'intervalle accepte tous les champs) et pour tous les autres types de données, ce champ est NULL.
interval_precisioncardinal_number S'applique à une fonctionnalité non disponible dans PostgreSQL (voir datetime_precision pour la précision en fraction des secondes des attributs du type d'intervalle)
attribute_udt_catalogsql_identifier Nom de la base dans laquelle le type de données de l'attribut est défini (toujours la base courante)
attribute_udt_schemasql_identifier Nom du schéma dans lequel le type de données de l'attribut est défini
attribute_udt_namesql_identifier Nom du type de données de l'attribut
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 dans PostgreSQL
dtd_identifiersql_identifier Un identifiant du descripteur du type de données de la colonne, unique parmi les descripteurs de types de données de la table. Ceci est principalement utile pour des jointures avec 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 reste identique dans les versions futures.)
is_derived_reference_attributeyes_or_noS'applique à une fonctionnalité non disponible dans PostgreSQL

Voir aussi dans Section 36.16, une vue structurée de façon similaire, pour plus d'informations sur certaines colonnes.