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
Nom | Type de données | Description |
---|---|---|
udt_catalog | sql_identifier | Nom de la base contenant le type de données (toujours la base courante) |
udt_schema | sql_identifier | Nom du schéma contenant le type de données |
udt_name | sql_identifier | Nom du type de données |
attribute_name | sql_identifier | Nom de l'attribut |
ordinal_position | cardinal_number | Position de l'attribut dans le type de données (le décompte commence à 1) |
attribute_default | character_data | Expression par défaut de l'attribut |
is_nullable | yes_or_no |
YES si l'attribut peut être NULL,
NO dans le cas contraire.
|
data_type | character_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_length | cardinal_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_length | cardinal_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_catalog | sql_identifier | S'applique à une fonctionnalité non disponible avec PostgreSQL |
character_set_schema | sql_identifier | S'applique à une fonctionnalité non disponible avec PostgreSQL |
character_set_name | sql_identifier | S'applique à une fonctionnalité non disponible avec PostgreSQL |
collation_catalog | sql_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_schema | sql_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_name | sql_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_precision | cardinal_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_radix | cardinal_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_scale | cardinal_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_precision | cardinal_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_type | character_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_precision | cardinal_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_catalog | sql_identifier | Nom de la base dans laquelle le type de données de l'attribut est défini (toujours la base courante) |
attribute_udt_schema | sql_identifier | Nom du schéma dans lequel le type de données de l'attribut est défini |
attribute_udt_name | sql_identifier | Nom du type de données de l'attribut |
scope_catalog | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL |
scope_schema | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL |
scope_name | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL |
maximum_cardinality | cardinal_number | Toujours NULL car les tableaux ont toujours une cardinalité maximale dans PostgreSQL |
dtd_identifier | sql_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_attribute | yes_or_no | S'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.