Esquema de información para bases de datos de dialecto de PostgreSQL

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_name
  FROM
    information_schema.tables
  WHERE
    table_schema = 'public'

Uso

  • Las tablas information_schema están disponibles solo a través de interfaces de SQL, para ejemplo:

    • La API de executeQuery
    • El comando gcloud spanner databases execute-sql
    • La página Consultas de una base de datos en la consola de Google Cloud.

    Otro método de lectura único no es compatible con information_schema.

Diferencias con information_schema para PostgreSQL

Las tablas de information_schema para las bases de datos del dialecto de PostgreSQL incluyen columnas de las tablas en 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 para una base de datos PostgreSQL de código abierto y cualquier columna distinta para Spanner se agregan después. Las consultas escritas para La versión de information_schema de PostgreSQL de código abierto debería funcionar sin modificación cuando se usan bases de datos de dialectos de PostgreSQL en Google Cloud CLI.

Otras diferencias notables en information_schema para las bases de datos del dialecto de PostgreSQL son las siguientes:

  • Algunas columnas de la tabla para PostgreSQL de código abierto están disponibles pero no se propagan en las bases de datos del dialecto de PostgreSQL.
  • Las bases de datos de dialecto de PostgreSQL usan public para el nombre del esquema predeterminado.
  • Los nombres de restricciones 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 son compatibles con 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 y spanner_statistics, están disponibles.

Filtrado de filas en information_schema tablas y vistas

Las principales que tienen permisos de IAM a nivel de la base de datos y Principales a las que se les otorgó acceso al sistema de spanner_info_reader rol (o a los miembros de ese rol) pueden ver todos filas en todas las information_schema tablas y vistas. Para otros 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 de cada tabla y vista.

Tablas en information_schema para bases de datos de dialectos de PostgreSQL

Las tablas y vistas de information_schema son compatibles con las tablas. y 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 con filtros de filas, se enumeran todas las membresías de roles que se otorgan explícitamente a todos los roles de la base de datos. 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 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.

Como todos los roles de base de datos son miembros de la rol, los resultados omiten registros para la membresía implícita en el rol público.

Nombre de la columna Tipo Descripción
grantee character varying El nombre del rol de la base de datos al que se le otorga la membresía.
role_name character varying Es el nombre del rol de la base de datos superior en el que se otorga esta membresía.
is_grantable character varying No se usa. Siempre NO.

change_stream_columns

Esta vista con filtros de filas contiene información sobre las columnas de la tabla y los cambios y transmisiones en vivo para mirarlos. Cada fila describe un flujo 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.

Las principales que tienen permisos de IAM a nivel de la base de datos y principales a las que se les otorgó acceso al rol del sistema spanner_info_reader o que los miembros de ese rol puedan ver todas las filas de esta vista. Todas las demás principales puede ver solo las filas de los flujos de cambios en los que se otorgó el privilegio SELECT al rol actual de la base de datos, a roles de los cuales el rol actual de base de datos es miembro o a public.

Nombre de la columna Tipo Descripción
change_stream_catalog character varying El nombre de la base de datos.
change_stream_schema character varying El nombre del esquema del flujo de cambios. Para las bases de datos de dialecto de PostgreSQL, el valor predeterminado es public.
change_stream_name character varying El nombre del flujo de cambios.
table_catalog character varying El nombre de la base de datos.
table_schema character varying Es el nombre del esquema de la tabla. Para las bases de datos de 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 con filtros de filas contiene las opciones de configuración para los flujos de cambios. 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. Todas las demás principales solo pueden ver opciones para los flujos de cambios en los que se otorga el privilegio SELECT al rol actual de base de datos, a roles de los que es miembro el rol actual de base de datos o a public.

Nombre de la columna Tipo Descripción
change_stream_catalog character varying El nombre de la base de datos.
change_stream_schema character varying El nombre del esquema del flujo de cambios. Para las bases de datos de dialecto de PostgreSQL, el valor predeterminado es public.
change_stream_name character varying Es el nombre del flujo de cambios.
option_name character varying El nombre de la opción de flujo de cambios.
option_type character varying Es el tipo de datos de la opción de flujo de cambios.
option_value character varying El valor de la opción de flujo de cambios.

change_stream_privileges

Esta vista con filtros de filas enumera todos los privilegios de control de acceso detallados otorgados en todos los cambios de transmisión a cualquier rol de base de datos, incluido public. Principales que tienen los permisos de IAM a nivel de la base de datos y las principales que se acceso al rol del sistema spanner_info_reader o a miembros puede ver todas las filas de esta vista. Todos los demás principales solo pueden ver los privilegios otorgados en los flujos 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 El nombre del rol de la base de datos al que se le otorga este privilegio.
change_stream_catalog character varying 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 del dialecto de PostgreSQL.
change_stream_name character varying El nombre del flujo de cambios.
privilege_type character varying 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 un flujo de cambios. 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. Todas las demás principales pueden ver solo filas de flujos de cambios en los que se otorga el privilegio SELECT al rol de base de datos, a roles de los que es miembro el rol actual de base de datos, o public

Los datos de change_stream_tables no incluyen las relaciones implícitas. entre tablas y flujos de cambios que rastrean toda la base de datos.

Nombre de la columna Tipo Descripción
change_stream_catalog character varying 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 de 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 El nombre de la base de datos.
table_schema character varying Es el nombre del esquema de la tabla. Para las bases de datos de 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 realiza un seguimiento de la totalidad del 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

Esta vista con filtros de filas enumera todos los flujos de cambios de una base de datos y observa cuáles hacen un seguimiento de toda la base de datos en comparación con tablas o columnas específicas. 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. Todas las demás principales solo pueden ver los cambios transmisiones en las que se otorga el privilegio de control de acceso detallado SELECT al actual rol de base de datos, a roles de los que es miembro el rol actual de base de datos, o public

Nombre de la columna Tipo Descripción
change_stream_catalog character varying 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 de dialectos de PostgreSQL, la configuración es public.
change_stream_name character varying El nombre del flujo de cambios.
all character varying YES si este flujo de cambios realiza un seguimiento de toda la base de datos. NO si este flujo de cambios realiza 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 dialectos de 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 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:
  • VALIDATING: La base de datos del dialecto de PostgreSQL está validando la datos existentes para una instancia de ALTER CONSTRAINT o Comando ADD CONSTRAINT.
  • COMMITTED: No hay un cambio de esquema activo para esta restricción.

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 El nombre de la base de datos.
table_schema character varying Es el nombre del esquema que contiene la tabla. El nombre es public para el esquema predeterminado y no está vacío en otros esquemas (por ejemplo, en el information_schema). Esta columna nunca es NULL.
table_name character varying 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 El nombre de la columna generada.

column_options

En esta vista, se enumeran todas las opciones definidas para las columnas de la tabla a las que se hace referencia de una restricción de clave foránea. La vista contiene solo las columnas de la referencia a la que tiene acceso el usuario actual (por ser el propietario o al que se le otorgó privilegios).

Nombre de la columna Tipo Descripción
table_catalog character varying El nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla externa. El nombre es public para el esquema predeterminado y no vacío para otros esquemas (para ejemplo, el mismo information_schema). Esta columna nunca es NULL.
table_name character varying Es el 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 esto 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 con filtros de filas, se enumeran todos los privilegios de control de acceso detallados otorgados en todas las columnas. a cualquier rol de base de datos, incluido public. Los principales que tienen permisos a nivel de la base de datos de IAM 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 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 vista que la contiene.

Nombre de la columna Tipo Descripción
grantor character varying No se usa. Siempre NULL.
grantee character varying El nombre del rol de la base de datos al que está asignado este privilegio otorgada.
table_catalog character varying El nombre de la base de datos.
table_schema character varying Es el nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de dialecto de PostgreSQL.
table_name character varying El nombre de la tabla o 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 vista de la base de datos. 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. Todas las demás principales pueden ver solo las columnas que tienen cualquier control de acceso detallado privilegios que se le otorgaron (o los privilegios SELECT, INSERT o UPDATE) otorgada en las tablas que los contienen) al rol actual de la base de datos, a roles de del que el rol actual de la base de datos es un miembro, o public.

Nombre de la columna Tipo Descripción
table_catalog character varying El nombre de la base de datos.
table_schema character varying Es el nombre del esquema que contiene la tabla. El nombre es public para el esquema predeterminado y no está vacío en otros esquemas (por ejemplo, en el information_schema). Esta columna nunca es null.
table_name character varying Es el nombre de la tabla.
column_name character varying El nombre de la columna
ordinal_position BIGINT 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. En de acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.
data_type character varying El tipo de datos de la columna. El valor es uno de los siguientes:
  • Para los tipos integrados, el nombre del tipo de datos.
  • Para los arrays, el valor ARRAY.
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 especifica una longitud máxima, el valor es NULL. Si los datos tipo de columna no es un carácter ni una cadena de bits, el valor es NULL
character_octet_length BIGINT No se usa. El valor es siempre NULL.
numeric_precision BIGINT Es la precisión del tipo de datos numérico 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 La base (unidad) de la precisión de los tipos numéricos. Solo se admiten dos valores:
  • 2 para double precision float8 y bigint
  • 10 para numeric
Para todos los demás tipos de datos, el valor es NULL.
numeric_scale BIGINT Contiene la escala del tipo de columna numérica, que es el número de unidades base de precisión después del 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 es siempre NULL.
interval_type character varying No se usa. El valor es siempre NULL.
interval_precision BIGINT No se usa. El valor es siempre NULL.
character_set_catalog character varying No se usa. El valor es siempre NULL.
character_set_schema character varying No se usa. El valor es siempre NULL.
character_set_name character varying No se usa. El valor es siempre NULL.
collation_catalog character varying No se usa. El valor es siempre NULL.
collation_schema character varying No se usa. El valor es siempre NULL.
collation_name character varying No se usa. El valor es siempre NULL.
domain_catalog character varying No se usa. El valor es siempre NULL.
domain_schema character varying No se usa. El valor es siempre NULL.
domain_name character varying No se usa. El valor es siempre NULL.
udt_catalog character varying No se usa. El valor es siempre NULL.
udt_schema character varying No se usa. El valor es siempre NULL.
udt_name character varying No se usa. El valor es siempre NULL.
scope_catalog character varying No se usa. El valor es siempre NULL.
scope_schema character varying No se usa. El valor es siempre NULL.
scope_name character varying No se usa. El valor es siempre NULL.
maximum_cardinality BIGINT No se usa. El valor es siempre NULL.
dtd_identifier character varying No se usa. El valor es siempre NULL.
is_self_referencing character varying No se usa. El valor es siempre NULL.
is_identity character varying No se usa. El valor es siempre NULL.
identity_generation character varying No se usa. El valor es siempre NULL.
identity_start character varying No se usa. El valor es siempre NULL.
identity_increment character varying No se usa. El valor es siempre NULL.
identity_maximum character varying No se usa. El valor es siempre NULL.
identity_minimum character varying No se usa. El valor es siempre NULL.
identity_cycle character varying No se usa. El valor es siempre 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 una columna generada.
is_updatable character varying No se usa. El valor es siempre NULL.
spanner_type character varying Una string que contiene el tipo de 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 los valores generados y NULL para 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:
  • NO_WRITE: No se permite la lectura ni la escritura en las columnas. Una columna generada almacenada en este estado no causa ningún cliente efecto.
  • WRITE_ONLY: La columna se está reabasteciendo. Ninguna lectura es por lo que está permitido.
  • COMMITTED: la columna es completamente utilizable.
  • NULL: Se usa para columnas en esquemas del sistema.

constraint_column_usage

Esta vista contiene una fila sobre cada columna que usa una restricción.

  • En el caso de las restricciones PRIMARY KEY y CHECK definidas por la palabra clave NOT NULL, la vista contiene esas columnas.
  • En el caso de las restricciones CHECK creadas con la palabra clave CHECK, 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 de KEY_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 usa la restricción.
table_name character varying Es el nombre de la tabla que contiene la columna que usa 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 por cada tabla que usa una restricción. En el caso de las restricciones FOREIGN KEY, la información de la tabla es para las tablas de la cláusula REFERENCES. Para una restricción de clave primaria o única, esta vista identifica el tabla a la que pertenece la restricción. Se deben verificar las restricciones y las que no son nulas no incluidas 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 Bases de datos de dialectos de 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 con filtros de filas, se enumeran los roles de base de datos definidos. Principales que tienen los permisos de IAM a nivel de la base de datos y las principales que se acceso al rol del sistema spanner_info_reader o a miembros de ese rol puede ver todos los roles de la base de datos. Todas las demás principales solo pueden ver roles de base de datos a los que se les otorgó acceso, ya sea de forma directa la herencia. Todos los roles del sistema, excepto public, también aparecen en esta vista.

Nombre de la columna Tipo Descripción
role_name character varying El nombre del rol.
spanner_is_system character varying YES si la función es una función del sistema. De lo contrario, NO

index_columns

Esta vista enumera 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 El nombre del esquema que contiene el índice. El valor predeterminado es public
table_name character varying Es el nombre de la tabla asociada con el í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 los que no son clave. columnas (por ejemplo, columnas especificadas en el 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 compatible con DDL de la columna.

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. Tablas creadas con un PRIMARY KEY tienen una entrada de seudoíndice generada con el nombre PRIMARY_KEY, lo 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 superior, como se explica en Crear un índice secundario. Esta columna contiene el nombre de esa tabla superior. 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. En de acuerdo con el estándar 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:
  • NULL: El tipo de índice es PRIMARY_KEY.
  • PREPARE: Crea tablas vacías para un índice nuevo.
  • WRITE_ONLY: Reabastece los datos para un índice nuevo.
  • WRITE_ONLY_CLEANUP: Limpia un índice nuevo.
  • WRITE_ONLY_VALIDATE_UNIQUE: comprobación de unicidad de los datos en un índice nuevo
  • READ_WRITE: Operación de índice normal
spanner_is_managed character varying Indica si Spanner administra el índice. Por ejemplo, una política de Spanner administra los índices de respaldo para claves externas. El cadena es YES o NO, en lugar de una Valor booleano, de acuerdo con el estándar SQL.

information_schema_catalog_name

Esta tabla contiene una fila y una columna con el nombre de la base de datos.

Nombre de la columna Tipo Descripción
catalog_name character varying El nombre de la base de datos.

key_column_usage

Esta vista identifica todas las columnas de la base de datos actual a las que hace referencia una restricción única, de clave primaria o de clave externa. Para obtener información sobre CHECK de restricciones, 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 El nombre del esquema que contiene la tabla que contiene los 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 El nombre de la columna restringida.
ordinal_position BIGINT Es 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 de cada función de lectura de flujo de cambios. Cada fila describe un argumento para uno función de lectura de flujos de cambios.

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 los parámetros de las funciones de lectura de flujos de cambios en los 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 El nombre del esquema de la rutina. Para las bases de datos de dialectos de PostgreSQL, la configuración 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 Es la posición ordinal del parámetro en la lista de argumentos de la rutina, que comienza con un valor de 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 Es el tipo de datos del parámetro. El valor es uno de lo siguiente:
  • Para los tipos integrados, el nombre del tipo de datos
  • Para los arrays, el valor ARRAY.
character_maximum_length bigint No se usa. Siempre NULL.
character_octet_length bigint No se usa. El valor es siempre NULL.
character_set_catalog character varying No se usa. El valor es siempre NULL.
character_set_schema character varying No se usa. El valor es siempre NULL.
character_set_name character varying No se usa. El valor es siempre NULL.
collation_catalog character varying No se usa. El valor es siempre NULL.
collation_schema character varying No se usa. El valor es siempre NULL.
collation_name character varying No se usa. El valor es siempre NULL.
numeric_precision bigint No se usa. El valor es siempre NULL.
numeric_precision_radix bigint No se usa. El valor es siempre NULL.
numeric_scale bigint No se usa. El valor es siempre NULL.
datetime_precision bigint No se usa. El valor es siempre NULL.
interval_type character varying No se usa. El valor es siempre NULL.
interval_precision bigint No se usa. El valor es siempre NULL.
udt_catalog character varying No se usa. El valor es siempre NULL.
udt_schema character varying No se usa. El valor es siempre NULL.
udt_name character varying No se usa. El valor es siempre NULL.
scope_catalog character varying No se usa. El valor es siempre NULL.
scope_schema character varying No se usa. El valor es siempre NULL.
scope_name character varying No se usa. El valor es siempre NULL.
maximum_cardinality bigint No se usa. El valor es siempre NULL.
dtd_identifier character varying No se usa. El valor es siempre NULL.
parameter_default character varying No se usa. El valor es siempre NULL.

placements

En esta tabla, se enumeran las posiciones de 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. En de acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.

placement-options

En esta tabla, se enumeran las opciones que se configuran en la ubicación en la cláusula OPTIONS de la sentencia CREATE PLACEMENT para cada ubicación.

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:
  • instance_partition
  • default_leader
option_type character varying Indica el tipo de datos de la opción de posición.
option_value character varying Indica el valor de la opción de posición. Para instance_partition, este es el nombre de la partición de la instancia. Para default_leader, es el nombre de la región líder predeterminada.

referential_constraints

Esta vista contiene una fila para cada restricción FOREIGN KEY. Solo puedes ver aquellas 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 a las que hacen referencia las claves externas para la aplicación forzosa de restricciones y las acciones de referencia.

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 que contiene la restricción de clave externa. El valor predeterminado es public.
constraint_name character varying El nombre de la restricción de la 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 es siempre NONE
update_rule character varying La regla de actualización de la restricción de clave externa. Este valor siempre es NO ACTION.
delete_rule character varying 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. Cuando los índices estén listos, Spanner comienza a aplicar la restricción para nuevas transacciones mientras valida el con los datos existentes. Los valores posibles y los estados que representan son los siguientes:
  • BACKFILLING_INDEXES: Los índices se están reabasteciendo.
  • VALIDATING_DATA: Se están validando los datos existentes y las escrituras nuevas.
  • WAITING_FOR_COMMIT: Las operaciones masivas con clave externa tienen se completaron correctamente, o no se necesitaron ninguno, pero la clave externa se que aún está pendiente.
  • COMMITTED: Se confirmó el cambio de esquema.

role_change_stream_grants

En esta vista filtrada por filas, se enumeran los privilegios SELECT otorgados en todos los flujos de cambios a cualquier rol de base de datos, incluido public. 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 los privilegios otorgados en las transmisiones de cambios al rol de la base de datos actual y a los roles de los que el rol de la 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 El nombre del rol de la base de datos al que se le otorga este privilegio.
change_stream_catalog character varying 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 del dialecto de PostgreSQL.
change_stream_name character varying El nombre del flujo de cambios.
privilege_type character varying 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. 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 los privilegios otorgados en las columnas al rol de la base de datos actual y a los roles de los que el rol de la 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 vista que la contiene.

Nombre de la columna Tipo Descripción
grantor character varying No se usa. Siempre NULL.
grantee character varying El nombre del rol de la base de datos al que está asignado este privilegio otorgada.
table_catalog character varying El nombre de la base de datos.
table_schema character varying Es el nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de dialecto de PostgreSQL.
table_name character varying El nombre de la tabla o 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 la transmisión de cambios a cualquier rol de la base de datos, incluido public. 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 los privilegios otorgados en las funciones de lectura de la transmisión de cambios al rol de la base de datos actual y a los roles de los que el rol de la 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 El nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. Para las bases de datos de dialectos de PostgreSQL, la configuración es public.
specific_name character varying Es el nombre de la rutina. Identifica la rutina de manera inequívoca, 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 dialectos de 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 con filtros de filas, se enumeran todos los privilegios de control de acceso detallados otorgados en todas las tablas. y vistas a cualquier rol de base de datos, incluido public. Principales que tienen los permisos de IAM a nivel de la base de datos y las principales que se acceso al rol del sistema spanner_info_reader o a miembros puede ver todas las filas de esta vista. Todos los demás principales solo pueden ver los privilegios otorgados en las 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 El nombre del rol de la base de datos al que se le otorga este privilegio.
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de 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.
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 flujo de cambios definida.

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. Todas las demás principales solo pueden ver opciones para funciones de lectura de flujos de cambios en las que el control de acceso detallado de EXECUTE se le otorga al rol de la base de datos actual, a roles de los cuales rol de base de datos es un miembro o 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 dialectos de 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:
  • Para los tipos integrados, el nombre del tipo de datos
  • Para los arrays, el valor ARRAY.
option_value character varying El valor de la opción.

routine_privileges

Esta vista con filtros de filas enumera todos los privilegios de control de acceso detallados otorgados en todos los cambios y transmite funciones de lectura a cualquier rol de base de datos, incluido public. 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 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 El nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. Para las bases de datos de dialectos de PostgreSQL, la configuración es public.
specific_name character varying Es el nombre de la rutina. Identifica la rutina de manera inequívoca, incluso si su nombre esté sobrecargado.
routine_catalog character varying Es el nombre de la base de datos.
routine_schema character varying 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 El tipo de privilegio otorgado.
is_grantable character varying No se usa. Siempre NO.

routines

Esta vista con filtros de filas enumera todas las funciones de lectura de flujo de cambios de una base de datos. Principales que tienen permisos de IAM a nivel de la base de datos y principales que tengan acceso al rol del sistema spanner_info_reader o a miembros de ese rol pueden ver todas las filas de esta vista. Todas las demás principales solo pueden ver funciones de lectura de flujos de cambios en las que se permite el privilegio de control de acceso detallado EXECUTE otorgada al rol de la base de datos actual, a roles de los cuales la base de datos actual rol es un 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 dialectos de 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 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 es siempre NULL.
module_schema character varying No se usa. El valor es siempre NULL.
module_name character varying No se usa. El valor es siempre NULL.
udt_catalog character varying No se usa. El valor es siempre NULL.
udt_schema character varying No se usa. El valor es siempre NULL.
udt_name character varying No se usa. El valor es siempre NULL.
data_type character varying Es el tipo de datos que muestra la rutina. El valor es uno de lo siguiente:
  • Para los tipos integrados, el nombre del tipo de datos
  • Para los arrays, el valor ARRAY.
character_maximum_length bigint No se usa. El valor es siempre NULL.
character_octet_length bigint No se usa. El valor es siempre NULL.
character_set_catalog character varying No se usa. El valor es siempre NULL.
character_set_schema character varying No se usa. El valor es siempre NULL.
character_set_name character varying No se usa. El valor es siempre NULL.
collation_catalog character varying No se usa. El valor es siempre NULL.
collation_schema character varying No se usa. El valor es siempre NULL.
collation_name character varying No se usa. El valor es siempre NULL.
numeric_precision bigint No se usa. El valor es siempre NULL.
numeric_precision_radix bigint No se usa. El valor es siempre NULL.
numeric_scale bigint No se usa. El valor es siempre NULL.
datetime_precision bigint No se usa. El valor es siempre NULL.
interval_type character varying No se usa. El valor es siempre NULL.
interval_precision bigint No se usa. El valor es siempre NULL.
type_udt_catalog character varying No se usa. El valor es siempre NULL.
type_udt_schema character varying No se usa. El valor es siempre NULL.
type_udt_name character varying No se usa. El valor es siempre NULL.
scope_catalog character varying No se usa. El valor es siempre NULL.
scope_schema character varying No se usa. El valor es siempre NULL.
scope_name character varying No se usa. El valor es siempre NULL.
maximum_cardinality bigint No se usa. El valor es siempre NULL.
dtd_identifier character varying No se usa. El valor es siempre NULL.
routine_body character varying El tipo de cuerpo de la rutina (SQL o EXTERNAL).
routine_definition character varying Es la definición para el SQL de routine_body, vacía de lo contrario.
external_name character varying No se usa. El valor siempre es NULL.
external_language character varying No se usa. El valor es siempre NULL.
parameter_style character varying No se usa. El valor es siempre NULL.
is_deterministic character varying No se usa. El valor es siempre NULL.
sql_data_access character varying No se usa. El valor es siempre NULL.
is_null_call character varying No se usa. El valor es siempre NULL.
sql_path character varying No se usa. El valor es siempre NULL.
schema_level_routine character varying No se usa. El valor es siempre NULL.
max_dynamic_result_sets character varying No se usa. El valor es siempre NULL.
is_user_defined_cast character varying No se usa. El valor es siempre NULL.
is_implicitly_invocable character varying No se usa. El valor es siempre 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 es siempre NULL.
to_sql_specific_schema character varying No se usa. El valor es siempre NULL.
to_sql_specific_name character varying No se usa. El valor es siempre NULL.
as_locator character varying No se usa. El valor es siempre NULL.
created timestamp with time zone No se usa. El valor es siempre NULL.
last_altered timestamp with time zone No se usa. El valor es siempre NULL.
new_savepoint_level character varying No se usa. El valor es siempre NULL.
is_udt_dependent character varying No se usa. El valor es siempre NULL.
result_cast_from_data_type character varying No se usa. El valor es siempre NULL.
result_cast_as_locator character varying No se usa. El valor es siempre NULL.
result_cast_char_max_length bigint No se usa. El valor es siempre NULL.
result_cast_char_octet_length bigint No se usa. El valor es siempre NULL.
result_cast_char_set_catalog character varying No se usa. El valor es siempre NULL.
result_cast_char_set_schema character varying No se usa. El valor es siempre NULL.
result_cast_char_set_name character varying No se usa. El valor es siempre NULL.
result_cast_collation_catalog character varying No se usa. El valor es siempre NULL.
result_cast_collation_schema character varying No se usa. El valor es siempre NULL.
result_cast_collation_name character varying No se usa. El valor es siempre NULL.
result_cast_numeric_precision bigint No se usa. El valor es siempre NULL.
result_cast_numeric_precision_radix bigint No se usa. El valor es siempre NULL.
result_cast_numeric_scale bigint No se usa. El valor es siempre NULL.
result_cast_datetime_precision bigint No se usa. El valor es siempre NULL.
result_cast_interval_type character varying No se usa. El valor es siempre NULL.
result_cast_interval_precision bigint No se usa. El valor es siempre NULL.
result_cast_type_udt_catalog character varying No se usa. El valor es siempre NULL.
result_cast_type_udt_schema character varying No se usa. El valor es siempre NULL.
result_cast_type_udt_name character varying No se usa. El valor es siempre NULL.
result_cast_scope_catalog character varying No se usa. El valor es siempre NULL.
result_cast_scope_schema character varying No se usa. El valor es siempre NULL.
result_cast_scope_name character varying No se usa. El valor es siempre NULL.
result_cast_maximum_cardinality bigint No se usa. El valor es siempre NULL.
result_cast_dtd_identifier character varying No se usa. El valor es siempre NULL.

schemata

La vista information_schema.schemata contiene una fila para cada esquema en el base de datos actual. Los esquemas incluyen el esquema de información y un un esquema 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 vacío para 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 La marca de tiempo en la que todos los datos de este esquema se convirtieron para que siga siendo eficaz. Esto solo se usa para el esquema predeterminado.

sequences

La vista information_schema.sequences contiene los metadatos 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 La secuencia solo admite int8.
numeric_precision bigint No se usa. El valor siempre es "NULL".
numeric_precision_radix bigint No se usa. El valor es siempre “NULL”.
numeric_scale bigint No se usa. El valor es siempre “NULL”.
start_value bigint No se usa. El valor es siempre “NULL”.
minimum_value bigint No se usa. El valor es siempre “NULL”.
maximum_value bigint No se usa. El valor es siempre “NULL”.
increment bigint No se usa. El valor es siempre “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 un valor aceptable.
counter_start_value bigint Es el valor inicial del contador de secuencias.
skip_range_min bigint Es el valor mínimo del rango omitido. Este valor es NULL si no está configurado.
skip_range_max bigint Es el valor máximo del rango omitido. Este valor es NULL si no se establece.

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 predeterminado del esquema 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. En de acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano. Se debe establecer este atributo a NO para poder hacer referencia al paquete de estadísticas en un o a través de la API del cliente.

table_constraints

Esta vista contiene todas las restricciones que pertenecen a las tablas que tiene el usuario actual acceso (que no sea 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 El nombre de la base de datos.
table_schema character varying Es el nombre del esquema que contiene la tabla asociada con 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:
  • CHECK
  • FOREIGN KEY
  • PLACEMENT KEY
  • PRIMARY KEY
  • UNIQUE
is_deferrable character varying El valor es siempre NO.
initially_deferred character varying El valor es siempre 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 en el momento de la escritura y por 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 con filtros de filas, se enumeran todos los privilegios de control de acceso detallados otorgados en todas las tablas. y vistas a cualquier rol de base de datos, incluido public. 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. Todas las demás principales solo pueden ver los privilegios otorgadas en tablas y vistas al rol actual de base de datos, a roles de los cuales rol actual de base de datos es un miembro o public.

Nombre de la columna Tipo Descripción
grantor character varying No se usa. Siempre NULL.
grantee character varying El nombre del rol de la base de datos al que se le otorga este privilegio.
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla o la vista. El valor predeterminado es public para las bases de datos de 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. Principales que tienen permisos de IAM a nivel de la base de datos y principales que tengan acceso al rol del sistema spanner_info_reader o a miembros de ese rol pueden ver todas las tablas y vistas. Todas las demás principales pueden ver solo tablas que cumplan con cualquiera de los siguientes requisitos:

  • Los SELECT, INSERT, UPDATE, o DELETE control de acceso detallado se otorgan privilegios en la tabla al rol actual de la base de datos, a roles de los cuales El rol actual de la base de datos es un miembro o public.
  • Los privilegios SELECT, INSERT o UPDATE se otorgan en cualquier columna de la tabla 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
table_catalog character varying El nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla o la vista.
table_name character varying Es el nombre de la tabla, la vista o el sinónimo.
table_type character varying El tipo de tabla. Entre los valores posibles, se incluyen "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 El nombre de la tabla superior si esta tabla está intercalada. 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 El estado de creación actual de la tabla.
Una tabla puede pasar por varios estados durante la creación, si es masiva operaciones involucradas, por ejemplo, cuando se crea la tabla con una clave externa que requiere el reabastecimiento de su índice al que se hace referencia. Posibles estados son:
  • ADDING_FOREIGN_KEY: Agrega las claves externas de la tabla
  • WAITING_FOR_COMMIT: Finaliza el cambio de esquema
  • COMMITTED: Se confirmó el cambio de esquema para crear la tabla. No puedes escribir en la tabla hasta que el cambio se comprometida.
  • NULL: Son tablas o vistas que no son tablas base.
interleave_type character varying Indica si existe una relación superior-secundario entre esta tabla y la tabla en la que está intercalada. Los valores posibles son los siguientes:
  • IN: Una tabla INTERLEAVE IN que no tiene una relación superior-secundario. Una fila en esta tabla puede existir independientemente de la fila de la tabla superior.
  • IN PARENT: Es una tabla de INTERLEAVE IN PARENT. que tenga un superior-secundario. Una fila de esta tabla requiere la existencia de la fila de su tabla superior.
row_deletion_policy_expression character varying Una cadena que contiene el texto de expresión que define el ROW DELETION POLICY.

table_synonyms

En esta tabla, se incluyen los sinónimos.

Nombre de la columna Tipo Descripción
CATALOG STRING Es el nombre del catálogo que contiene la tabla.
SCHEMA STRING Es el 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 El nombre de la tabla para el sinónimo.

views

Esta vista con filtros de filas muestra una lista de todas las vistas de la base de datos actual. 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 vistas. Todos los demás principales solo pueden ver las vistas que tienen el privilegio de control de acceso detallado SELECT otorgado 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 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 predeterminado:

SELECT
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

Muestra el nombre de todas las tablas y vistas en information_schema para bases de datos de dialecto de 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:

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

Muestra información sobre cada índice en el esquema predeterminado de la base de datos actual:

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

Muestra todas las columnas que usan opciones distintas de la predeterminada:

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

Muestra las opciones actuales de la base de datos relacionada 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')

Muestra todos los paquetes de estadísticas disponibles:

SELECT *
FROM information_schema.spanner_statistics;

¿Qué sigue?