columns #
La vista columns contiene información sobre todas
las columnas de tablas (o columnas de vistas) en la base de datos.
Las columnas del sistema (ctid, etc.) no están
incluidas. Solo se muestran aquellas columnas a las que el usuario
actual tiene acceso (por ser el propietario o tener algún privilegio).
Table 35.15. columns Columns
Column Type Description |
|---|
Nombre de la base de datos que contiene la tabla (siempre la base de datos actual) |
Nombre del esquema que contiene la tabla |
Nombre de la tabla |
Nombre de la columna |
Posición ordinal de la columna dentro de la tabla (el conteo comienza en 1) |
Expresión por omisión de la columna |
|
Tipo de datos de la columna, si es un tipo incorporado, o
|
Si |
Si |
Si |
Si |
Si |
Si |
Si |
Se aplica a una característica no disponible
en PostgreSQL
(consulta |
Se aplica a una característica no disponible en PostgreSQL |
Se aplica a una característica no disponible en PostgreSQL |
Se aplica a una característica no disponible en PostgreSQL |
Nombre de la base de datos que contiene la colación de la columna (siempre la base de datos actual), nulo si es por omisión o si el tipo de datos de la columna no admite colación |
Nombre del esquema que contiene la colación de la columna, nulo si es por omisión o si el tipo de datos de la columna no admite colación |
Nombre de la colación de la columna, nulo si es por omisión o si el tipo de datos de la columna no admite colación |
Si la columna tiene un tipo de dominio, el nombre de la base de datos en la que está definido el dominio (siempre la base de datos actual); de lo contrario, nulo. |
Si la columna tiene un tipo de dominio, el nombre del esquema en el que está definido el dominio; de lo contrario, nulo. |
Si la columna tiene un tipo de dominio, el nombre del dominio; de lo contrario, nulo. |
Nombre de la base de datos en la que está definido el tipo de datos de la columna (el tipo subyacente del dominio, si corresponde) (siempre la base de datos actual) |
Nombre del esquema en el que está definido el tipo de datos de la columna (el tipo subyacente del dominio, si corresponde) |
Nombre del tipo de datos de la columna (el tipo subyacente del dominio, si corresponde) |
Se aplica a una característica no disponible en PostgreSQL |
Se aplica a una característica no disponible en PostgreSQL |
Se aplica a una característica no disponible en PostgreSQL |
Siempre nulo, porque los arrays siempre tienen una cardinalidad máxima ilimitada en PostgreSQL |
Un identificador del descriptor del tipo de datos de la columna, único entre los descriptores de tipos de datos pertenecientes a la tabla. Esto es útil principalmente para realizar uniones con otras instancias de dichos identificadores. (El formato específico del identificador no está definido y no se garantiza que siga siendo el mismo en futuras versiones.) |
Se aplica a una característica no disponible en PostgreSQL |
Si la columna es una columna de identidad, entonces |
Si la columna es una columna de identidad, entonces |
Si la columna es una columna de identidad, entonces el valor inicial de la secuencia interna; de lo contrario, nulo. |
Si la columna es una columna de identidad, entonces el incremento de la secuencia interna; de lo contrario, nulo. |
Si la columna es una columna de identidad, entonces el valor máximo de la secuencia interna; de lo contrario, nulo. |
Si la columna es una columna de identidad, entonces el valor mínimo de la secuencia interna; de lo contrario, nulo. |
Si la columna es una columna de identidad, entonces |
Si la columna es una columna generada, entonces |
Si la columna es una columna generada, entonces la expresión de generación, de lo contrario, nulo. |
|
Dado que los tipos de datos se pueden definir de diversas formas en SQL, y
PostgreSQL contiene formas adicionales de definir
tipos de datos, su representación en el esquema de información puede ser
algo difícil. Se supone que la columna data_type
identifica el tipo incorporado subyacente de la columna.
En PostgreSQL, esto significa que el tipo está
definido en el esquema del catálogo del sistema pg_catalog.
Esta columna podría ser útil si la aplicación puede manejar los tipos
incorporados conocidos de manera especial (por ejemplo, formatear los tipos
numéricos de manera diferente o usar los datos en las columnas de precisión).
Las columnas udt_name, udt_schema y
udt_catalog siempre identifican el tipo de datos subyacente
de la columna, incluso si la columna se basa en un dominio (dado que
PostgreSQL trata los tipos incorporados como tipos
definidos por el usuario, los tipos incorporados también aparecen aquí; esta
es una extensión del estándar SQL). Estas columnas se deben usar si una
aplicación desea procesar los datos de manera diferente según el tipo, porque
en ese caso no importaría si la columna realmente se basa en un dominio. Si
la columna se basa en un dominio, la identidad del dominio se almacena en las
columnas domain_name, domain_schema y
domain_catalog. Si deseas emparejar las columnas con sus
tipos de datos asociados y tratar los dominios como tipos separados, podrías
escribir coalesce(domain_name, udt_name), etc.