element_types
La vue element_types
contient les descripteurs de type
de données des éléments de tableaux. Lorsqu'une colonne de table, un
attribut de type composite, un domaine, un paramètre de fonction ou un
code de retour de fonction est définie comme un
type tableau, la vue respective du schéma d'information contient seulement
ARRAY
dans la colonne data_type
. Pour
obtenir des informations sur le type d'élément du tableau, il est possible
de joindre la vue respective avec cette vue. Par exemple, pour afficher les
colonnes d'une table avec les types de données et les types d'élément de
tableau, si applicable, on peut écrire :
SELECT c.column_name, c.data_type, e.data_type AS element_type FROM information_schema.columns c LEFT JOIN information_schema.element_types e ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier) = (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier)) WHERE c.table_schema = '...' AND c.table_name = '...' ORDER BY c.ordinal_position;
Cette vue n'inclut que les objets auxquels l'utilisateur courant a accès, parce que propriétaire ou disposant de quelque privilège.
Tableau 36.21. Colonnes de element_types
Nom | Type de données | Description |
---|---|---|
object_catalog | sql_identifier | Nom de la base de données contenant l'objet qui utilise le tableau décrit (toujours la base de données courante) |
object_schema | sql_identifier | Nom du schéma contenant l'objet utilisant le tableau décrit |
object_name | sql_identifier | Nom de l'objet utilisant le tableau décrit |
object_type | character_data |
Le type de l'objet utilisant le tableau décrit :
il fait partie de TABLE (le tableau est utilisé par
une colonne de cette table), USER-DEFINED TYPE (le
tableau est utilisé par un attribut de ce type composite),
DOMAIN (le tableau est
utilisé par ce domaine), ROUTINE (le tableau est
utilisé par un paramètre ou le type du code de retour de cette fonction).
|
collection_type_identifier | sql_identifier |
L'identifiant du descripteur de type de données du tableau décrit.
Utilisez cette colonne pour faire une jointure avec les colonnes
dtd_identifier des autres vues du schéma
d'informations.
|
data_type | character_data |
Le type de données des éléments du tableau s'il s'agit d'un type
interne, sinon USER-DEFINED (dans ce cas, le type est
identifié comme udt_name et dispose de colonnes
associées).
|
character_maximum_length | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
character_octet_length | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
character_set_catalog | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL. |
character_set_schema | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL. |
character_set_name | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL. |
collation_catalog | sql_identifier | Nom de la base contenant le collationnement du type de l'élément (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'élément ne peut pas avoir de collationnement |
collation_schema | sql_identifier | Nom du schéma contenant le collationnement du type de l'élément, NULL s'il s'agit du collationnement par défaut ou si le type de données de l'élément ne peut pas avoir de collationnement |
collation_name | sql_identifier | Nom du collationnement du type de l'élément, NULL s'il s'agit du collationnement par défaut ou si le type de données de l'élément ne peut pas avoir de collationnement |
numeric_precision | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
numeric_precision_radix | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
numeric_scale | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
datetime_precision | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
interval_type | character_data | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
interval_precision | cardinal_number | Toujours NULL car cette information n'est pas appliquée aux types de données d'éléments de tableau dans PostgreSQL |
domain_default | character_data | Pas encore implanté |
udt_catalog | sql_identifier | Nom de la base de données pour lequel le type de données est défini (toujours la base de données courante) |
udt_schema | sql_identifier | Nom du schéma dans lequel est défini le type de données des éléments |
udt_name | sql_identifier | Nom du type de données des éléments |
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 n'ont pas de limite maximale de cardinalité dans PostgreSQL |
dtd_identifier | sql_identifier | Un identifiant du descripteur de type de données pour cet élément. Ceci n'est actuellement pas utile. |