El esquema de información es un esquema integrado que es común a todas las bases de datos de PostgreSQL. Puedes ejecutar consultas de SQL en tablas en el information_schema
a fin de recuperar metadatos de esquema para una base de datos.
Por ejemplo, la siguiente consulta recupera los nombres de todas las tablas definidas por el usuario en una base de datos:
SELECT
table_schema,
table_name
FROM
information_schema.tables
WHERE
table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
AND table_type = 'BASE TABLE'
Uso
Las tablas
information_schema
solo están disponibles a través de interfaces de SQL, por ejemplo:- La API de
executeQuery
- El comando
gcloud spanner databases execute-sql
- La página Consulta de una base de datos en la consola de Google Cloud
Otros métodos de lectura única no admiten
information_schema
.- La API de
- Las consultas en el
information_schema
pueden usar límites de marcas de tiempo sólidos de inactividad limitada o de inactividad exacta. - Si usas una base de datos con dialecto de GoogleSQL, consulta Information schema para bases de datos con dialecto de GoogleSQL.
Diferencias con information_schema
para PostgreSQL
Las tablas de information_schema
para bases de datos con dialecto de PostgreSQL incluyen columnas de las tablas de information_schema
para PostgreSQL de código abierto y, en algunos casos, también incluyen columnas de Spanner. En estas tablas, las columnas de PostgreSQL de código abierto aparecen primero y en el mismo orden que en una base de datos de PostgreSQL de código abierto, y las columnas distintas de Spanner se agregan después. Las consultas escritas para la versión de código abierto de PostgreSQL de information_schema
deberían funcionar sin modificaciones cuando se usan bases de datos con dialecto de PostgreSQL en Google Cloud CLI.
Otras diferencias notables en information_schema
para las bases de datos de dialecto de PostgreSQL son las siguientes:
- Algunas de las columnas de la tabla para PostgreSQL de código abierto están disponibles, pero no se propagan en las bases de datos de dialecto de PostgreSQL.
- Las bases de datos con dialecto de PostgreSQL usan
public
para el nombre del esquema predeterminado. - Los nombres de restricción generados automáticamente usan un formato diferente al de las bases de datos de PostgreSQL de código abierto.
- No están disponibles las tablas relacionadas con las funciones de PostgreSQL de código abierto que no se admiten en las bases de datos de dialecto de PostgreSQL.
- Algunas tablas que están disponibles con Spanner, pero no con PostgreSQL de código abierto, como
database_options
,index_columns
,indexes
yspanner_statistics
, están disponibles.
Filtrado de filas en tablas y vistas de information_schema
Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
(o a los miembros de ese rol) pueden ver todas las filas de todas las tablas y vistas de information_schema
. En el caso de otras entidades principales, Spanner filtra las filas según el rol de base de datos actual. Las descripciones de las tablas y las vistas en las siguientes secciones indican cómo Spanner filtra las filas para cada tabla y vista.
Tablas en information_schema
para bases de datos con dialecto de PostgreSQL
Las tablas y las vistas en information_schema
son compatibles con las tablas y las vistas en information_schema
de PostgreSQL de código abierto.
En las siguientes secciones, se describen las tablas y las vistas en information_schema
para las bases de datos de dialecto de PostgreSQL.
applicable_roles
En esta vista filtrada por filas, se enumeran todas las membresías de roles que se otorgan de forma explícita a todos los roles de la base de datos. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver las membresías de roles que se otorgan al rol de base de datos actual o a un rol del que el rol de base de datos actual es miembro.
Dado que todos los roles de la base de datos son miembros del rol público, los resultados omiten los registros de la membresía implícita en el rol público.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga la membresía. |
role_name |
character varying |
Nombre del rol de la base de datos principal en el que se otorga esta membresía. |
is_grantable |
character varying |
No se usa. Siempre NO . |
change_stream_columns
Esta vista filtrada por filas contiene información sobre las columnas de la tabla y los flujos de cambios que las supervisan. Cada fila describe una transmisión de cambios y una columna. Si un flujo de cambios hace un seguimiento de una tabla completa, las columnas de esa tabla no se muestran en esta vista.
Los principales que tienen permisos de IAM a nivel de la base de datos y los principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver las filas de los flujos de cambios en los que se otorga el privilegio SELECT
al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
change_stream_catalog |
character varying |
Es el nombre de la base de datos. |
change_stream_schema |
character varying |
Es el nombre del esquema del flujo de cambios. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
change_stream_name |
character varying |
Es el nombre del flujo de cambios. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema de la tabla. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
table_name |
character varying |
Es el nombre de la tabla a la que hace referencia esta fila. |
column_name |
character varying |
Es el nombre de la columna a la que hace referencia esta fila. |
change_stream_options
Esta vista filtrada por filas contiene las opciones de configuración para los flujos de cambios.
Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver las opciones de los flujos de cambios en los que se otorga el privilegio SELECT
al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
change_stream_catalog |
character varying |
Es el nombre de la base de datos. |
change_stream_schema |
character varying |
Es el nombre del esquema del flujo de cambios. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
change_stream_name |
character varying |
Es el nombre del flujo de cambios. |
option_name |
character varying |
Es el nombre de la opción del flujo de cambios. |
option_type |
character varying |
Es el tipo de datos de la opción de transmisión de cambios. |
option_value |
character varying |
Es el valor de la opción de flujo de cambios. |
change_stream_privileges
En esta vista filtrada por filas, se enumeran todos los privilegios de control de acceso detallado otorgados en todos los flujos de cambios a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todos los demás principales solo pueden ver los privilegios otorgados en los flujos de cambios al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor |
character varying |
No se usa. Siempre NULL . |
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga este privilegio. |
change_stream_catalog |
character varying |
Es el nombre de la base de datos. |
change_stream_schema |
character varying |
Es el nombre del esquema que contiene el flujo de cambios.
El valor predeterminado es public para las bases de datos con dialecto de PostgreSQL. |
change_stream_name |
character varying |
Es el nombre del flujo de cambios. |
privilege_type |
character varying |
Es el tipo de privilegio (solo SELECT ). |
is_grantable |
character varying |
No se usa. Siempre NO . |
change_stream_tables
Esta vista filtrada por filas contiene información sobre las tablas y los flujos de cambios que las supervisan. Cada fila describe una tabla y una transmisión de cambios. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver las filas de los flujos de cambios en los que se otorga el privilegio SELECT
al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Los datos en change_stream_tables
no incluyen las relaciones implícitas entre las tablas y las flujos de cambios que hacen un seguimiento de toda la base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
change_stream_catalog |
character varying |
Es el nombre de la base de datos. |
change_stream_schema |
character varying |
Es el nombre del esquema del flujo de cambios. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
change_stream_name |
character varying |
Es el nombre del flujo de cambios al que hace referencia esta fila. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema de la tabla. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
table_name |
character varying |
Es el nombre de la tabla a la que hace referencia esta fila. |
all_columns |
character varying |
YES si el flujo de cambios de esta fila hace un seguimiento de la totalidad de la tabla a la que hace referencia esta fila. En caso contrario, NO . De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
change_streams
En esta vista filtrada por filas, se enumeran todos los flujos de cambios de una base de datos y se indica cuáles hacen un seguimiento de toda la base de datos en comparación con tablas o columnas específicas. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver los flujos de cambios en los que se otorga el privilegio de control de acceso detallado SELECT
al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
change_stream_catalog |
character varying |
Es el nombre de la base de datos. |
change_stream_schema |
character varying |
Es el nombre del esquema de este flujo de cambios. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
change_stream_name |
character varying |
Es el nombre del flujo de cambios. |
all |
character varying |
YES si este flujo de cambios hace un seguimiento de toda la base de datos
NO si este flujo de cambios hace un seguimiento de tablas o columnas específicas.
De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
check_constraints
La vista check_constraints
contiene una fila para cada restricción de verificación definida por la palabra clave CHECK
o NOT NULL
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
constraint_catalog |
character varying |
Es el nombre de la base de datos. |
constraint_schema |
character varying |
El nombre del esquema de la restricción. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
constraint_name |
character varying |
El nombre de la restricción. Si el nombre de la restricción no se especifica de forma explícita en el esquema, se usa el nombre generado automáticamente. |
check_clause |
character varying |
Es la expresión de la restricción de verificación. |
spanner_state |
character varying |
Es el estado actual de la restricción de verificación. Los estados posibles son los siguientes:
|
column_column_usage
En esta vista, se enumeran todas las columnas generadas que dependen de otra columna base en la misma tabla.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla. El nombre es public para el esquema predeterminado y no está vacío para otros esquemas (por ejemplo, el information_schema ). Esta columna nunca es NULL. |
table_name |
character varying |
Es el nombre de la tabla que contiene las columnas generadas. |
column_name |
character varying |
Es el nombre de la columna base de la que depende la columna generada. |
dependent_column |
character varying |
Nombre de la columna generada. |
column_options
En esta vista, se enumeran todas las opciones definidas para las columnas de la tabla a la que se hace referencia en una restricción de clave externa. La vista solo contiene las columnas de la tabla de referencia a las que el usuario actual tiene acceso (por ser el propietario o tener privilegios otorgados).
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla externa. El nombre es public para el esquema predeterminado y no está vacío para otros esquemas (por ejemplo, el information_schema ). Esta columna nunca es nula. |
table_name |
character varying |
Nombre de la tabla externa. |
column_name |
character varying |
Es el nombre de la columna |
option_name |
character varying |
Un identificador de SQL que identifica la opción de forma única. Este identificador es la clave de la cláusula OPTIONS en DDL.
|
option_value |
character varying |
Un literal de SQL que describe el valor de esta opción. El valor de esta columna se puede analizar como parte de una consulta. |
option_type |
character varying |
Es un nombre de tipo de datos que es el tipo de este valor de opción. |
column_privileges
En esta vista filtrada por filas, se enumeran todos los privilegios de control de acceso detallado otorgados en todas las columnas a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todos los demás principales solo pueden ver los privilegios otorgados en las columnas al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
La vista incluye los privilegios SELECT
, INSERT
y UPDATE
que la columna hereda de la tabla o la vista que la contiene.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor |
character varying |
No se usa. Siempre NULL . |
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga este privilegio. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
table_name |
character varying |
Nombre de la tabla o la vista que contiene la columna. |
column_name |
character varying |
Es el nombre de la columna |
privilege_type |
character varying |
Es el tipo de privilegio (SELECT , INSERT o UPDATE ). |
is_grantable |
character varying |
No se usa. Siempre NO . |
columns
Esta vista filtrada por filas proporciona información sobre todas las columnas de la tabla y las columnas de la vista en la base de datos. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todas las demás principales solo pueden ver las columnas que tienen privilegios de control de acceso detallado otorgados (o los privilegios de SELECT
, INSERT
o UPDATE
otorgados en sus tablas contenedoras) al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla. El nombre es public para el esquema predeterminado y no está vacío para otros esquemas (por ejemplo, el information_schema ). Esta columna nunca es nula. |
table_name |
character varying |
Nombre de la tabla |
column_name |
character varying |
El nombre de la columna |
ordinal_position |
BIGINT |
Es la posición ordinal de la columna en la tabla, que comienza con un valor de 1. |
column_default |
character varying |
Es una representación de cadena de la expresión de PostgreSQL de código abierto del valor predeterminado de la columna, por ejemplo, '9'::bigint .
|
is_nullable |
character varying |
Es una string que indica si la columna acepta el valor NULL. De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
data_type |
character varying |
Es el tipo de datos de la columna. El valor es uno de los siguientes:
|
character_maximum_length |
BIGINT |
Es la longitud máxima declarada para los tipos de datos de cadena de caracteres y de bits. Si no se especificó una longitud máxima, el valor es NULL . Si el tipo de datos de la columna no es una cadena de caracteres o de bits, el valor es NULL . |
character_octet_length |
BIGINT |
No se usa. El valor siempre es NULL . |
numeric_precision |
BIGINT |
Es la precisión del tipo de datos numéricos de la columna actual.
Para double precision , el valor es 53. Para bigint , el valor es 64.
Para todos los demás tipos de datos, el valor es NULL . |
numeric_precision_radix |
BIGINT |
Es la base (unidad) de la precisión para los tipos numéricos. Solo se admiten dos valores:
NULL . |
numeric_scale |
BIGINT |
Contiene la escala del tipo de columna numérica, que es la cantidad de unidades básicas de precisión después del punto radix. Para bigint , el valor es 0.
Para todos los demás tipos de datos, el valor es NULL . |
datetime_precision |
BIGINT |
No se usa. El valor siempre es NULL . |
interval_type |
character varying |
No se usa. El valor siempre es NULL . |
interval_precision |
BIGINT |
No se usa. El valor siempre es NULL . |
character_set_catalog |
character varying |
No se usa. El valor siempre es NULL . |
character_set_schema |
character varying |
No se usa. El valor siempre es NULL . |
character_set_name |
character varying |
No se usa. El valor siempre es NULL . |
collation_catalog |
character varying |
No se usa. El valor siempre es NULL . |
collation_schema |
character varying |
No se usa. El valor siempre es NULL . |
collation_name |
character varying |
No se usa. El valor siempre es NULL . |
domain_catalog |
character varying |
No se usa. El valor siempre es NULL . |
domain_schema |
character varying |
No se usa. El valor siempre es NULL . |
domain_name |
character varying |
No se usa. El valor siempre es NULL . |
udt_catalog |
character varying |
No se usa. El valor siempre es NULL . |
udt_schema |
character varying |
No se usa. El valor siempre es NULL . |
udt_name |
character varying |
No se usa. El valor siempre es NULL . |
scope_catalog |
character varying |
No se usa. El valor siempre es NULL . |
scope_schema |
character varying |
No se usa. El valor siempre es NULL . |
scope_name |
character varying |
No se usa. El valor siempre es NULL . |
maximum_cardinality |
BIGINT |
No se usa. El valor siempre es NULL . |
dtd_identifier |
character varying |
No se usa. El valor siempre es NULL . |
is_self_referencing |
character varying |
No se usa. El valor siempre es NULL . |
is_identity |
character varying |
No se usa. El valor siempre es NULL . |
identity_generation |
character varying |
No se usa. El valor siempre es NULL . |
identity_start |
character varying |
No se usa. El valor siempre es NULL . |
identity_increment |
character varying |
No se usa. El valor siempre es NULL . |
identity_maximum |
character varying |
No se usa. El valor siempre es NULL . |
identity_minimum |
character varying |
No se usa. El valor siempre es NULL . |
identity_cycle |
character varying |
No se usa. El valor siempre es NULL . |
is_generated |
character varying |
Es una string que indica si la columna se genera. La string es ALWAYS para una columna generada o NEVER para una columna no generada. |
generation_expression |
character varying |
Es una cadena que representa la expresión SQL de una columna generada o NULL si la columna no es generada. |
is_updatable |
character varying |
No se usa. El valor siempre es NULL . |
spanner_type |
character varying |
Es una cadena que contiene el tipo de la columna compatible con DDL. |
is_stored |
character varying |
Una string que indica si se almacena la columna generada.
La cadena siempre es YES o NO para las columnas generadas y NULL para las columnas no generadas. |
spanner_state |
character varying |
El estado actual de la columna. Una nueva columna generada almacenada que se agrega a una tabla existente puede pasar por varios estados que el usuario puede observar antes de que se pueda usar por completo. Los valores posibles son los siguientes:
|
constraint_column_usage
Esta vista contiene una fila para cada columna que usa una restricción.
- Para las restricciones
PRIMARY KEY
yCHECK
definidas por la palabra claveNOT NULL
, la vista contiene esas columnas. - Para las restricciones
CHECK
creadas con la palabra claveCHECK
, la vista incluye las columnas que usa la expresión de restricción de verificación. - En el caso de las restricciones de clave externa, la vista contiene las columnas de la tabla a la que se hace referencia.
- Para las restricciones
UNIQUE
, la vista contiene las columnas deKEY_COLUMN_USAGE
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema que contiene la tabla que contiene la columna que se usa en la restricción. |
table_name |
character varying |
Es el nombre de la tabla que contiene la columna que se usa en la restricción. |
column_name |
character varying |
El nombre de la columna que se usa en la restricción. |
constraint_catalog |
character varying |
Es el nombre de la base de datos. |
constraint_schema |
character varying |
El nombre del esquema de la restricción. |
constraint_name |
character varying |
El nombre de la restricción. |
constraint_table_usage
Esta vista contiene una fila para cada tabla que usa una restricción. En el caso de las restricciones FOREIGN
KEY
, la información de la tabla corresponde a las tablas de la cláusula REFERENCES
. En el caso de una restricción de clave primaria o única, esta vista identifica la tabla a la que pertenece la restricción. Las restricciones de verificación y las restricciones de no nulo no se incluyen en esta vista.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
El nombre del esquema de la tabla restringida. |
table_name |
character varying |
Es el nombre de la tabla que usa alguna restricción. |
constraint_catalog |
character varying |
Es el nombre de la base de datos. |
constraint_schema |
character varying |
Es el nombre del esquema que contiene la restricción. |
constraint_name |
character varying |
El nombre de la restricción. |
database_options
En esta tabla, se enumeran las opciones que se configuran en la base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
catalog_name |
character varying |
Es el nombre de la base de datos. |
schema_name |
character varying |
Es el nombre del esquema. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
option_name |
character varying |
El nombre de la opción de base de datos. Este es el valor de key en la cláusula OPTIONS en DDL. |
option_type |
character varying |
Tipo de datos de la opción de base de datos. |
option_value |
character varying |
Es el valor de la opción de base de datos. |
enabled_roles
En esta vista filtrada por filas, se enumeran los roles de base de datos definidos. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todos los roles de la base de datos. Todas las demás principales solo pueden ver los roles de la base de datos a los que se les otorgó acceso directamente o a través de la herencia. En esta vista, también aparecen todos los roles del sistema, excepto public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
role_name |
character varying |
El nombre del rol. |
spanner_is_system |
character varying |
YES si el rol es un rol del sistema De lo contrario, NO . |
index_columns
En esta vista, se enumeran las columnas de un índice.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema que contiene el índice. El valor predeterminado es public . |
table_name |
character varying |
Es el nombre de la tabla asociada al índice. |
index_name |
character varying |
Es el nombre del índice. Las tablas que tienen una especificación PRIMARY KEY
tienen una entrada de seudoíndice generada con el nombre
PRIMARY_KEY . |
index_type |
character varying |
Es el tipo de índice. Los valores posibles son PRIMARY_KEY , LOCAL o GLOBAL . |
column_name |
character varying |
Es el nombre de la columna |
ordinal_position |
BIGINT |
Es la posición ordinal de la columna en el índice (o clave primaria), que comienza con un valor de 1. Este valor es NULL para las columnas sin clave (por ejemplo, las columnas especificadas en la cláusula INCLUDE de un índice). |
column_ordering |
character varying |
Es el orden de clasificación de la columna. El valor es ASC o DESC para las columnas de clave, y NULL para las columnas sin clave (por ejemplo, las columnas especificadas en la cláusula STORING de un índice). |
is_nullable |
character varying |
Es una string que indica si la columna acepta el valor NULL. De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
spanner_type |
character varying |
Es una cadena que contiene el tipo de la columna compatible con DDL. |
indexes
Esta vista enumera los índices en un esquema.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema. El valor predeterminado es public . |
table_name |
character varying |
Es el nombre de la tabla. |
index_name |
character varying |
Es el nombre del índice. Las tablas creadas con una cláusula PRIMARY KEY
tienen una entrada de seudoíndice generada con el nombre PRIMARY_KEY ,
que permite identificar los campos de la clave primaria. |
index_type |
character varying |
Es el tipo de índice. Los valores incluyen PRIMARY_KEY , LOCAL o GLOBAL . |
parent_table_name |
character varying |
Los índices secundarios se pueden intercalar en una tabla principal, como se explica en Cómo crear un índice secundario. Esta columna contiene el nombre de esa tabla principal o una cadena vacía si el índice no está intercalado. |
is_unique |
character varying |
Se indica si las claves de índice deben ser únicas. De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
is_null_filtered |
character varying |
Se indica si el índice incluye entradas con valores NULL . De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
index_state |
character varying |
Es el estado actual del índice. Los valores posibles y los estados que representan son los siguientes:
|
spanner_is_managed |
character varying |
Indica si Spanner administra el índice. Por ejemplo, Spanner administra los índices de respaldo secundarios para las claves externas. La cadena es YES o NO , en lugar de un valor booleano, de acuerdo con el estándar de SQL. |
information_schema_catalog_name
Esta tabla contiene una fila y una columna que incluyen el nombre de la base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
catalog_name |
character varying |
Es el nombre de la base de datos. |
key_column_usage
En esta vista, se identifican todas las columnas de la base de datos actual a las que se hace referencia en una restricción de clave externa, primaria o única. Para obtener información sobre las columnas de restricción CHECK
, consulta la vista check_constraints
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
constraint_catalog |
character varying |
Es el nombre de la base de datos. |
constraint_schema |
character varying |
El nombre del esquema de la restricción. El valor predeterminado es public . |
constraint_name |
character varying |
El nombre de la restricción. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema que contiene la tabla que contiene la columna restringida. El valor predeterminado es public . |
table_name |
character varying |
Es el nombre de la tabla que contiene la columna restringida por esta restricción. |
column_name |
character varying |
Es el nombre de la columna restringida. |
ordinal_position |
BIGINT |
La posición ordinal de la columna dentro de la clave de la restricción, que comienza con un valor de 1 . |
position_in_unique_constraint |
BIGINT |
Para los FOREIGN KEY , la posición ordinal de la columna dentro de la restricción única, que comienza con un valor de 1 . Esta columna tiene un valor NULL para otros tipos de restricciones. |
parameters
Esta vista filtrada por filas define los argumentos para cada función de lectura de transmisiones de cambios. Cada fila describe un argumento para una función de lectura de la transmisión de cambios.
Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver los parámetros de las funciones de lectura de flujos de cambios en las que se otorga el privilegio de control de acceso detallado EXECUTE
al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
specific_catalog |
character varying |
Es el nombre de la base de datos. |
specific_schema |
character varying |
Es el nombre del esquema de la rutina. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
specific_name |
character varying |
Es el nombre de la rutina. Identifica de forma única la rutina, incluso si su nombre está sobrecargado. |
ordinal_position |
bigint |
Posición ordinal del parámetro en la lista de argumentos de la rutina, que comienza con el valor 1. |
parameter_mode |
character varying |
No se usa. Siempre NULL . |
is_result |
character varying |
No se usa. Siempre NULL . |
as_locator |
character varying |
No se usa. Siempre NULL . |
parameter_name |
character varying |
El nombre del parámetro. |
data_type |
character varying |
Tipo de datos del parámetro. El valor es uno de los siguientes:
|
character_maximum_length |
bigint |
No se usa. Siempre NULL . |
character_octet_length |
bigint |
No se usa. El valor siempre es NULL . |
character_set_catalog |
character varying |
No se usa. El valor siempre es NULL . |
character_set_schema |
character varying |
No se usa. El valor siempre es NULL . |
character_set_name |
character varying |
No se usa. El valor siempre es NULL . |
collation_catalog |
character varying |
No se usa. El valor siempre es NULL . |
collation_schema |
character varying |
No se usa. El valor siempre es NULL . |
collation_name |
character varying |
No se usa. El valor siempre es NULL . |
numeric_precision |
bigint |
No se usa. El valor siempre es NULL . |
numeric_precision_radix |
bigint |
No se usa. El valor siempre es NULL . |
numeric_scale |
bigint |
No se usa. El valor siempre es NULL . |
datetime_precision |
bigint |
No se usa. El valor siempre es NULL . |
interval_type |
character varying |
No se usa. El valor siempre es NULL . |
interval_precision |
bigint |
No se usa. El valor siempre es NULL . |
udt_catalog |
character varying |
No se usa. El valor siempre es NULL . |
udt_schema |
character varying |
No se usa. El valor siempre es NULL . |
udt_name |
character varying |
No se usa. El valor siempre es NULL . |
scope_catalog |
character varying |
No se usa. El valor siempre es NULL . |
scope_schema |
character varying |
No se usa. El valor siempre es NULL . |
scope_name |
character varying |
No se usa. El valor siempre es NULL . |
maximum_cardinality |
bigint |
No se usa. El valor siempre es NULL . |
dtd_identifier |
character varying |
No se usa. El valor siempre es NULL . |
parameter_default |
character varying |
No se usa. El valor siempre es NULL . |
placements
En esta tabla, se enumeran las posiciones en la base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
placement_name |
character varying |
Es el nombre de la posición. |
is_default |
character varying |
Es una string que indica si la columna acepta el valor NULL. De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
placement-options
Para cada posición, esta tabla enumera las opciones que se configuran en la posición en la cláusula OPTIONS
de la instrucción CREATE PLACEMENT
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
placement_name |
character varying |
Es el nombre de la posición. |
option_name |
character varying |
Es el nombre de la opción de posición. Los valores válidos para option_name incluyen los siguientes:
|
option_type |
character varying |
Es el tipo de datos de la opción de posición. |
option_value |
character varying |
Es el valor de la opción de posición. Para instance_partition , este es el nombre de la partición de la instancia. En el caso de default_leader , es el nombre de la región líder predeterminada. |
locality-group-options
En el caso de cada grupo de localidades, esta tabla enumera el nombre y las opciones que se establecen en el grupo de localidades en la cláusula OPTIONS
de la instrucción CREATE LOCALITY GROUP
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
locality_group_name |
character varying |
Es el nombre del grupo de localidades. |
option_name |
character varying |
Es el nombre de la opción del grupo de localidades. Las opciones válidas son las siguientes:
|
option_value |
character varying |
Es el valor de la opción del grupo de ubicaciones. Para storage , puede ser ssd o hdd . Para ssd_to_hdd_spill_timespan , esta es la cantidad de tiempo que los datos deben almacenarse en SSD antes de transferirse al almacenamiento HDD. Por ejemplo, 10d es de 10 días. El período mínimo que puedes establecer es de una hora. |
referential_constraints
Esta vista contiene una fila para cada restricción FOREIGN KEY
. Solo puedes ver las restricciones para las que tienes acceso de escritura a la tabla de referencia. Esta vista también identifica las restricciones PRIMARY KEY
y UNIQUE
en las tablas referenciadas que las claves externas usan para la aplicación de restricciones y las acciones referenciales.
Nombre de la columna | Tipo | Descripción |
---|---|---|
constraint_catalog |
character varying |
Es el nombre de la base de datos. |
constraint_schema |
character varying |
Es el nombre del esquema que contiene la restricción de clave externa. El valor predeterminado es public . |
constraint_name |
character varying |
Nombre de la restricción de clave externa. |
unique_constraint_catalog |
character varying |
Es el nombre de la base de datos. |
unique_constraint_schema |
character varying |
Es el nombre del esquema que contiene la restricción de clave primaria o única a la que hace referencia la restricción de clave externa. |
unique_constraint_name |
character varying |
Es el nombre de la restricción de clave primaria o única a la que hace referencia la restricción de clave externa. |
match_option |
character varying |
Es el método de coincidencia que usa la restricción de clave externa. El valor siempre es NONE .
|
update_rule |
character varying |
Es la regla de actualización de la restricción de clave externa. Este valor siempre es NO ACTION .
|
delete_rule |
character varying |
Es la regla de eliminación de la restricción de clave externa. Este valor es CASCADE o NO ACTION . |
spanner_state |
character varying |
El estado actual de la clave externa. Spanner no comienza a aplicar la restricción hasta que se crean y reabastecen los índices de respaldo de la clave externa. Una vez que los índices están listos, Spanner
comienza a aplicar la restricción para las transacciones nuevas mientras valida los
datos existentes. Los valores posibles y los estados que representan son los siguientes:
|
role_change_stream_grants
En esta vista filtrada por filas, se enumeran los privilegios de SELECT
otorgados en todos los flujos de cambios a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todas las demás principales solo pueden ver los privilegios otorgados en las flujos de cambios al rol de base de datos actual y a los roles de los que el rol de base de datos actual es miembro, sin incluir public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor |
character varying |
No se usa. Siempre NULL . |
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga este privilegio. |
change_stream_catalog |
character varying |
Es el nombre de la base de datos. |
change_stream_schema |
character varying |
Es el nombre del esquema que contiene el flujo de cambios.
El valor predeterminado es public para las bases de datos con dialecto de PostgreSQL. |
change_stream_name |
character varying |
Es el nombre del flujo de cambios. |
privilege_type |
character varying |
Es el tipo de privilegio (solo SELECT ). |
is_grantable |
character varying |
No se usa. Siempre NO . |
role_column_grants
En esta vista filtrada por filas, se enumeran todos los privilegios de control de acceso detallado otorgados en todas las columnas a cualquier rol de base de datos, incluido public
. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todas las demás principales solo pueden ver los privilegios otorgados en las columnas al rol de base de datos actual y a los roles de los que el rol de base de datos actual es miembro, sin incluir public
.
La vista incluye los privilegios SELECT
, INSERT
y UPDATE
que la columna hereda de la tabla o la vista que la contiene.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor |
character varying |
No se usa. Siempre NULL . |
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga este privilegio. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
table_name |
character varying |
Nombre de la tabla o la vista que contiene la columna. |
column_name |
character varying |
Es el nombre de la columna |
privilege_type |
character varying |
Es el tipo de privilegio (SELECT , INSERT o UPDATE ). |
is_grantable |
character varying |
No se usa. Siempre NO . |
role_routine_grants
En esta vista filtrada por filas, se enumeran los privilegios EXECUTE
otorgados en todas las funciones de lectura de transmisiones de cambios a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todas las demás principales solo pueden ver los privilegios otorgados en las funciones de lectura de la transmisión de cambios al rol de base de datos actual y a los roles de los que el rol de base de datos actual es miembro, sin incluir public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor
|
character varying
|
No se usa. Siempre NULL . |
grantee
|
character varying
|
Es el nombre del rol al que se otorgó el privilegio. |
specific_catalog
|
character varying
|
Es el nombre de la base de datos. |
specific_schema
|
character varying
|
Es el nombre del esquema de la rutina. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
specific_name
|
character varying
|
Es el nombre de la rutina. Identifica de forma única la rutina, incluso si su nombre está sobrecargado. |
routine_catalog
|
character varying
|
Es el nombre de la base de datos. |
routine_schema
|
character varying
|
Es el nombre del esquema de la rutina. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
routine_name
|
character varying
|
Es el nombre de la rutina. (Puede duplicarse en caso de sobrecarga). |
privilege_type
|
character varying
|
Es el tipo de privilegio otorgado. Siempre EXECUTE . |
is_grantable
|
character varying
|
No se usa. Siempre NO . |
role_table_grants
En esta vista filtrada por filas, se enumeran todos los privilegios de control de acceso detallado otorgados en todas las tablas y vistas a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todas las demás principales solo pueden ver los privilegios otorgados en tablas y vistas al rol de base de datos actual y a los roles de los que el rol de base de datos actual es miembro, sin incluir public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor |
character varying |
No se usa. Siempre NULL . |
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga este privilegio. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
table_name |
character varying |
El nombre de la tabla o vista. |
privilege_type |
character varying |
Es el tipo de privilegio (SELECT , INSERT , UPDATE o DELETE ). |
is_grantable |
character varying |
No se usa. Siempre NO . |
with_hierarchy |
character varying |
No se usa. Siempre NULL . |
routine_options
Esta vista filtrada por filas contiene una fila para cada opción de cada función de lectura de transmisiones de cambios definida.
Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver las opciones de las funciones de lectura de flujos de cambios en las que se otorga el privilegio de control de acceso detallado EXECUTE
al rol de la base de datos actual, a los roles de los que el rol de la base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
specific_catalog
|
character varying
|
Es el nombre de la base de datos. |
specific_schema
|
character varying
|
Es el nombre del esquema de la rutina. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
specific_name
|
character varying
|
Es el nombre de la rutina. Identifica de forma única la rutina, incluso si su nombre está sobrecargado. |
option_name
|
character varying
|
El nombre de la opción. |
option_type
|
character varying
|
Es el tipo de datos de la opción. El valor es uno de los siguientes:
|
option_value
|
character varying
|
El valor de la opción. |
routine_privileges
En esta vista filtrada por filas, se enumeran todos los privilegios de control de acceso detallado otorgados en todas las funciones de lectura de transmisiones de cambios a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todos los demás principales solo pueden ver los privilegios otorgados en las funciones de lectura de la transmisión de cambios al rol de la base de datos actual, a los roles de los que el rol de la base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor
|
character varying
|
No se usa. Siempre NULL . |
grantee
|
character varying
|
Es el nombre del rol al que se otorgó el privilegio. |
specific_catalog
|
character varying
|
Es el nombre de la base de datos. |
specific_schema
|
character varying
|
Es el nombre del esquema de la rutina. Para las bases de datos con dialecto de PostgreSQL, el valor predeterminado es public . |
specific_name
|
character varying
|
Es el nombre de la rutina. Identifica de forma única la rutina, incluso si su nombre está sobrecargado. |
routine_catalog
|
character varying
|
Es el nombre de la base de datos. |
routine_schema
|
character varying
|
Es el nombre del esquema de la rutina. El valor predeterminado es
public . |
routine_name
|
character varying
|
Es el nombre de la rutina. (Puede duplicarse si está sobrecargado). |
privilege_type
|
character varying
|
Es el tipo de privilegio otorgado. |
is_grantable
|
character varying
|
No se usa. Siempre NO . |
routines
En esta vista filtrada por filas, se enumeran todas las funciones de lectura de transmisiones de cambios de una base de datos.
Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas de esta vista. Todos los demás principales solo pueden ver las funciones de lectura de la transmisión de cambios en las que se otorga el privilegio de control de acceso detallado EXECUTE
al rol de la base de datos actual, a los roles de los que el rol de la base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
specific_catalog |
character varying |
Es el nombre de la base de datos. |
specific_schema |
character varying |
Es el nombre del esquema de la rutina. El valor predeterminado es public para las bases de datos de dialecto PostgreSQL. |
specific_name |
character varying |
Es el nombre de la rutina. Identifica de forma única la rutina, incluso si su nombre está sobrecargado. |
routine_catalog |
character varying |
Es el nombre de la base de datos. |
routine_schema |
character varying |
Es el nombre del esquema de la rutina. |
routine_name |
character varying |
Es el nombre de la rutina. (Puede duplicarse en caso de sobrecarga). |
routine_type |
character varying |
El tipo de rutina (FUNCTION o PROCEDURE ). Siempre FUNCTION |
module_catalog |
character varying |
No se usa. El valor siempre es NULL . |
module_schema |
character varying |
No se usa. El valor siempre es NULL . |
module_name |
character varying |
No se usa. El valor siempre es NULL . |
udt_catalog |
character varying |
No se usa. El valor siempre es NULL . |
udt_schema |
character varying |
No se usa. El valor siempre es NULL . |
udt_name |
character varying |
No se usa. El valor siempre es NULL . |
data_type |
character varying |
Es el tipo de datos que devuelve la rutina. El valor es uno de los siguientes:
|
character_maximum_length |
bigint |
No se usa. El valor siempre es NULL . |
character_octet_length |
bigint |
No se usa. El valor siempre es NULL . |
character_set_catalog |
character varying |
No se usa. El valor siempre es NULL . |
character_set_schema |
character varying |
No se usa. El valor siempre es NULL . |
character_set_name |
character varying |
No se usa. El valor siempre es NULL . |
collation_catalog |
character varying |
No se usa. El valor siempre es NULL . |
collation_schema |
character varying |
No se usa. El valor siempre es NULL . |
collation_name |
character varying |
No se usa. El valor siempre es NULL . |
numeric_precision |
bigint |
No se usa. El valor siempre es NULL . |
numeric_precision_radix |
bigint |
No se usa. El valor siempre es NULL . |
numeric_scale |
bigint |
No se usa. El valor siempre es NULL . |
datetime_precision |
bigint |
No se usa. El valor siempre es NULL . |
interval_type |
character varying |
No se usa. El valor siempre es NULL . |
interval_precision |
bigint |
No se usa. El valor siempre es NULL . |
type_udt_catalog |
character varying |
No se usa. El valor siempre es NULL . |
type_udt_schema |
character varying |
No se usa. El valor siempre es NULL . |
type_udt_name |
character varying |
No se usa. El valor siempre es NULL . |
scope_catalog |
character varying |
No se usa. El valor siempre es NULL . |
scope_schema |
character varying |
No se usa. El valor siempre es NULL . |
scope_name |
character varying |
No se usa. El valor siempre es NULL . |
maximum_cardinality |
bigint |
No se usa. El valor siempre es NULL . |
dtd_identifier |
character varying |
No se usa. El valor siempre es NULL . |
routine_body |
character varying |
Es el tipo del cuerpo de la rutina (SQL o EXTERNAL ). |
routine_definition |
character varying |
Es la definición del SQL de routine_body ; de lo contrario, está vacío. |
external_name |
character varying |
No se usa. El valor siempre es NULL . |
external_language |
character varying |
No se usa. El valor siempre es NULL . |
parameter_style |
character varying |
No se usa. El valor siempre es NULL . |
is_deterministic |
character varying |
No se usa. El valor siempre es NULL . |
sql_data_access |
character varying |
No se usa. El valor siempre es NULL . |
is_null_call |
character varying |
No se usa. El valor siempre es NULL . |
sql_path |
character varying |
No se usa. El valor siempre es NULL . |
schema_level_routine |
character varying |
No se usa. El valor siempre es NULL . |
max_dynamic_result_sets |
character varying |
No se usa. El valor siempre es NULL . |
is_user_defined_cast |
character varying |
No se usa. El valor siempre es NULL . |
is_implicitly_invocable |
character varying |
No se usa. El valor siempre es NULL . |
security_type |
character varying |
Es el tipo de seguridad de la rutina. Solo se admite INVOKER . |
to_sql_specific_catalog |
character varying |
No se usa. El valor siempre es NULL . |
to_sql_specific_schema |
character varying |
No se usa. El valor siempre es NULL . |
to_sql_specific_name |
character varying |
No se usa. El valor siempre es NULL . |
as_locator |
character varying |
No se usa. El valor siempre es NULL . |
created |
timestamp with time zone |
No se usa. El valor siempre es NULL . |
last_altered |
timestamp with time zone |
No se usa. El valor siempre es NULL . |
new_savepoint_level |
character varying |
No se usa. El valor siempre es NULL . |
is_udt_dependent |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_from_data_type |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_as_locator |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_char_max_length |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_char_octet_length |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_char_set_catalog |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_char_set_schema |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_char_set_name |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_collation_catalog |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_collation_schema |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_collation_name |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_numeric_precision |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_numeric_precision_radix |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_numeric_scale |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_datetime_precision |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_interval_type |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_interval_precision |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_type_udt_catalog |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_type_udt_schema |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_type_udt_name |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_scope_catalog |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_scope_schema |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_scope_name |
character varying |
No se usa. El valor siempre es NULL . |
result_cast_maximum_cardinality |
bigint |
No se usa. El valor siempre es NULL . |
result_cast_dtd_identifier |
character varying |
No se usa. El valor siempre es NULL . |
schemata
La vista information_schema.schemata
contiene una fila para cada esquema de la base de datos actual. Los esquemas incluyen el esquema de información y un esquema predeterminado llamado public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
catalog_name |
character varying |
Es el nombre de la base de datos. |
schema_name |
character varying |
Es el nombre del esquema. Se establece en public para el esquema predeterminado
y no está vacío para los esquemas con nombre. |
schema_owner |
character varying |
Es el nombre del propietario del esquema. |
default_character_set_catalog |
character varying |
No se usa. |
default_character_set_schema |
character varying |
No se usa. |
default_character_set_name |
character varying |
No se usa. |
sql_path |
character varying |
No se usa. |
effective_timestamp |
timestamp with timezone |
Es la marca de tiempo en la que todos los datos de este esquema entraron en vigencia. Solo se usa para el esquema predeterminado. |
sequences
La vista information_schema.sequences
contiene los metadatos de sequences
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
sequence_catalog |
character varying |
Es el nombre de la base de datos. |
sequence_schema |
character varying |
Es el nombre del esquema de la secuencia. El valor predeterminado es public para una base de datos de dialecto PostgreSQL. |
sequence_name |
character varying |
Es el nombre de la secuencia. |
data_type |
character varying |
Sequence solo admite int8 . |
numeric_precision |
bigint |
No se usa. El valor siempre es "NULL". |
numeric_precision_radix |
bigint |
No se usa. El valor siempre es "NULL". |
numeric_scale |
bigint |
No se usa. El valor siempre es "NULL". |
start_value |
bigint |
No se usa. El valor siempre es "NULL". |
minimum_value |
bigint |
No se usa. El valor siempre es "NULL". |
maximum_value |
bigint |
No se usa. El valor siempre es "NULL". |
increment |
bigint |
No se usa. El valor siempre es "NULL". |
cycle_option |
character varying |
La única opción que acepta sequence es no . |
sequence_kind |
character varying |
Es el tipo de secuencia. bit_reversed_positive es el único valor aceptable. |
counter_start_value |
bigint |
Es el valor inicial del contador de secuencia. |
skip_range_min |
bigint |
Es el valor mínimo del rango omitido. Este valor es NULL si no se configura. |
skip_range_max |
bigint |
Es el valor máximo del rango omitido. Este valor es NULL si no se configura. |
spanner_statistics
En esta tabla, se enumeran los paquetes de estadísticas del optimizador de consultas disponibles.
Nombre de la columna | Tipo | Descripción |
---|---|---|
catalog_name |
character varying |
Es el nombre de la base de datos. |
schema_name |
character varying |
Es el nombre del esquema. El valor de esquema predeterminado es public . |
package_name |
character varying |
El nombre del paquete de estadísticas. |
allow_gc |
character varying |
Indica si el paquete de estadísticas está exento de la recolección de elementos no utilizados. De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. Este atributo debe establecerse en NO antes de que puedas hacer referencia al paquete de estadísticas en una sugerencia o a través de la API de cliente.
|
table_constraints
Esta vista contiene todas las restricciones que pertenecen a las tablas a las que tiene acceso el usuario actual (excepto SELECT
).
Nombre de la columna | Tipo | Descripción |
---|---|---|
constraint_catalog |
character varying |
Es el nombre de la base de datos. |
constraint_schema |
character varying |
Es el nombre del esquema que contiene la restricción. |
constraint_name |
character varying |
El nombre de la restricción. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla asociada a la restricción. |
table_name |
character varying |
Es el nombre de la tabla. |
constraint_type |
character varying |
El tipo de restricción. Los valores posibles son los siguientes:
|
is_deferrable |
character varying |
El valor siempre es NO . |
initially_deferred |
character varying |
El valor siempre es NO . |
enforced |
character varying |
Indica si se aplica la restricción. Si se aplica una restricción (después de que alcanza un estado determinado), se valida tanto en el momento de la escritura como con un verificador de integridad en segundo plano. De acuerdo con el estándar de SQL, la cadena es YES o NO , en lugar de un valor booleano. |
table_privileges
En esta vista filtrada por filas, se enumeran todos los privilegios de control de acceso detallado otorgados en todas las tablas y vistas a cualquier rol de base de datos, incluido public
. Los miembros principales que tienen permisos de IAM a nivel de la base de datos y los miembros principales a los que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las filas en esta vista. Todas las demás entidades principales solo pueden ver los privilegios otorgados en tablas y vistas al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
grantor |
character varying |
No se usa. Siempre NULL . |
grantee |
character varying |
Nombre del rol de la base de datos al que se otorga este privilegio. |
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla o la vista.
El valor predeterminado es public para las bases de datos con dialecto de PostgreSQL. |
table_name |
character varying |
El nombre de la tabla o vista. |
privilege_type |
character varying |
Es el tipo de privilegio (SELECT , INSERT , UPDATE o DELETE ). |
is_grantable |
character varying |
No se usa. Siempre NO . |
that have_hierarchy |
character varying |
No se usa. Siempre NULL . |
tables
En esta vista filtrada por filas, se enumeran todas las tablas y vistas que se encuentran en la base de datos actual.
Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las tablas y vistas. Todos los demás principales solo pueden ver las tablas que cumplen con uno de los siguientes requisitos:
-
Los privilegios de control de acceso detallado
SELECT
,INSERT
,UPDATE
oDELETE
se otorgan en la tabla al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Los privilegios
SELECT
,INSERT
oUPDATE
se otorgan en cualquier columna de la tabla al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Nombre del esquema que contiene la tabla o la vista. |
table_name |
character varying |
Nombre de la tabla, la vista o el sinónimo. |
table_type |
character varying |
El tipo de tabla. Los valores posibles son "BASE TABLE", "VIEW" o "SYNONYM". |
self_referencing_column_name |
character varying |
No se usa. |
reference_generation |
character varying |
No se usa. |
user_defined_type_catalog |
character varying |
No se usa. |
user_defined_type_schema |
character varying |
No se usa. |
user_defined_type_name |
character varying |
No se usa. |
is_insertable_into |
character varying |
No se usa. |
is_typed |
character varying |
No se usa. |
commit_action |
character varying |
No se usa. |
parent_table_name |
character varying |
Es el nombre de la tabla principal si esta tabla está intercalada o es NULL . |
on_delete_action |
character varying |
Esta opción está configurada en CASCADE o en NO ACTION para las tablas intercaladas, y en NULL en el caso contrario. Consulta Instrucciones de TABLE para obtener más información. |
spanner_state |
character varying |
Es el estado de creación actual de la tabla. Una tabla puede pasar por varios estados durante la creación, si se incluyen operaciones masivas, por ejemplo, cuando la tabla se crea con una clave externa que requiere el reabastecimiento de su índice al que se hace referencia. Los estados posibles son los siguientes:
|
interleave_type |
character varying |
Indica si existe una relación principal-secundaria entre esta tabla y la tabla en la que está intercalada. Los valores posibles son los siguientes:
|
row_deletion_policy_expression |
character varying |
Es una cadena que contiene el texto de la expresión que define el ROW
DELETION POLICY . |
table_synonyms
En esta tabla, se muestra información sobre los sinónimos de la tabla.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CATALOG |
STRING |
Nombre del catálogo que contiene la tabla. |
SCHEMA |
STRING |
Nombre del esquema que contiene la tabla. |
TABLE_NAME |
STRING |
Es el nombre de la tabla. |
SYNONYM_CATALOG |
STRING |
Es el nombre del catálogo del sinónimo. |
SYNONYM_SCHEMA |
STRING |
Es el nombre del esquema del sinónimo. |
SYNONYM_TABLE_NAME |
STRING |
Es el nombre de la tabla para el sinónimo. |
views
En esta vista filtrada por filas, se enumeran todas las vistas de la base de datos actual. Las principales que tienen permisos de IAM a nivel de la base de datos y las principales a las que se les otorgó acceso al rol del sistema spanner_info_reader
o a los miembros de ese rol pueden ver todas las vistas. Todos los demás principales solo pueden ver las vistas que tienen el privilegio de control de acceso detallado SELECT
otorgado en ellas al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
table_catalog |
character varying |
Es el nombre de la base de datos. |
table_schema |
character varying |
Es el nombre del esquema. El valor predeterminado es public . |
table_name |
character varying |
El nombre de la vista. |
view_definition |
character varying |
El texto SQL de la consulta que define la vista. |
check_option |
character varying |
No se usa. |
is_updatable |
character varying |
No se usa. |
is_insertable_into |
character varying |
No se usa. |
is_trigger_updatable |
character varying |
No se usa. |
is_trigger_deletable |
character varying |
No se usa. |
is_trigger_insertable_into |
character varying |
No se usa. |
security_type |
character varying |
Es el tipo de seguridad de la vista. INVOKER o DEFINER
Para obtener más información, consulta Acerca de las vistas. |
Ejemplos
Muestra información sobre cada tabla en el esquema del usuario:
SELECT
t.table_schema,
t.table_catalog,
t.table_name,
t.parent_table_name
FROM
information_schema.tables AS t
WHERE
t.table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name
Devuelve el nombre de todas las tablas y vistas en information_schema
para las bases de datos de dialecto PostgreSQL:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
Muestra información sobre las columnas de la tabla de usuarios my_table
en el esquema predeterminado:
SELECT
t.ordinal_position,
t.column_name,
t.data_type,
t.spanner_type,
t.is_nullable
FROM
information_schema.columns AS t
WHERE
t.table_schema = 'public'
AND
t.table_name = 'my_table'
ORDER BY
t.ordinal_position
Devuelve información sobre cada índice en el esquema predeterminado de la base de datos actual: ```postgresql SELECT t.table_name, t.index_name, t.parent_table_name FROM information_schema.indexes AS t WHERE t.table_schema = 'public' AND t.index_type != 'PRIMARY_KEY' ORDER BY t.table_schema, t.table_name, t.index_name
Devuelve las columnas que usan opciones no predeterminadas en el esquema predeterminado:
SELECT
t.table_name,
t.column_name,
t.option_type,
t.option_value,
t.option_name
FROM
information_schema.column_options AS t
WHERE
t.table_schema = 'public'
ORDER BY
t.table_schema,
t.table_name,
t.column_name,
t.option_name
Devuelve las opciones actuales de la base de datos relacionadas con el optimizador:
SELECT
s.option_name,
s.option_value
FROM
information_schema.database_options s
WHERE
s.schema_name='public'
AND s.option_name IN ('optimizer_version',
'optimizer_statistics_package')
Devuelve todos los paquetes de estadísticas disponibles:
SELECT *
FROM information_schema.spanner_statistics;
¿Qué sigue?
- Obtén más información sobre las herramientas de introspección disponibles para ayudarte a investigar los problemas de la base de datos.