Esquema de información de bases de datos con dialecto 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 SQL en las tablas de information_schema para obtener los metadatos del esquema de una base de datos.

Por ejemplo, la siguiente consulta obtiene los nombres de todas las tablas definidas por el usuario de 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 SQL, como las siguientes:

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

    Otros métodos de lectura única no admiten information_schema.

Diferencias con information_schema para PostgreSQL

Las tablas de information_schema para bases de datos con dialecto PostgreSQL incluyen columnas de las tablas de information_schema para PostgreSQL de código abierto y, en algunos casos, también columnas de Spanner. En estas tablas, las columnas de PostgreSQL de código abierto aparecen en primer lugar y en el mismo orden que en una base de datos PostgreSQL de código abierto. Las columnas específicas de Spanner se añaden después. Las consultas escritas para la versión de código abierto de PostgreSQL de information_schema deberían funcionar sin modificaciones al usar bases de datos con dialecto PostgreSQL en Google Cloud CLI.

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

  • Algunas de las columnas de la tabla de PostgreSQL de código abierto están disponibles, pero no se rellenan en las bases de datos de dialecto PostgreSQL.
  • Las bases de datos con dialecto PostgreSQL usan public como nombre de esquema predeterminado.
  • Los nombres de las restricciones generados automáticamente usan un formato diferente al de las bases de datos PostgreSQL de código abierto.
  • Las tablas relacionadas con las funciones de PostgreSQL de código abierto que no se admiten en las bases de datos con dialecto PostgreSQL no están disponibles.
  • Algunas tablas que están disponibles en Spanner, pero no en 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 entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al spanner_info_reader rol de sistema (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 otros principales, Spanner filtra las filas en función del rol de base de datos actual. Las descripciones de las tablas y las vistas de las siguientes secciones indican cómo filtra Spanner las filas de cada tabla y vista.

Tablas de information_schema para bases de datos con dialecto PostgreSQL

Las tablas y las vistas de information_schema son compatibles con las tablas y las vistas de information_schema de PostgreSQL de código abierto.

En las siguientes secciones se describen las tablas y las vistas de information_schema para bases de datos con dialecto PostgreSQL.

applicable_roles

En esta vista filtrada por filas se muestran todas las pertenencias a roles que se han concedido explícitamente a todos los roles de la base de datos. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades de seguridad solo pueden ver las pertenencias a roles que se han concedido al rol de base de datos actual o a un rol del que el rol de base de datos actual sea miembro.

Como todos los roles de la base de datos son miembros del rol público, los resultados omiten los registros de la pertenencia implícita al rol público.

Nombre de la columna Tipo Descripción
grantee character varying Nombre del rol de base de datos al que se concede la pertenencia.
role_name character varying Nombre del rol de base de datos principal en el que se concede esta pertenencia.
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 monitorizan. Cada fila describe un flujo de cambios y una columna. Si un flujo de cambios monitoriza una tabla completa, las columnas de esa tabla no se muestran en esta vista.

Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver las filas de los flujos de cambios en los que se haya concedido el privilegio SELECT al rol de base de datos actual, a los roles de los que el rol de base de datos actual sea miembro o a public.

Nombre de la columna Tipo Descripción
change_stream_catalog character varying Nombre de la base de datos.
change_stream_schema character varying Nombre del esquema del flujo de cambios. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
change_stream_name character varying Nombre del flujo de cambios.
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema de la tabla. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
table_name character varying Nombre de la tabla a la que hace referencia esta fila.
column_name character varying 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 de los flujos de cambios. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver las opciones de los flujos de cambios en los que se ha concedido 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 Nombre de la base de datos.
change_stream_schema character varying Nombre del esquema del flujo de cambios. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
change_stream_name character varying Nombre del flujo de cambios.
option_name character varying El nombre de la opción de flujo de cambios.
option_type character varying El tipo de datos de la opción de flujo de cambios.
option_value character varying Valor de la opción de flujo de cambios.

change_stream_privileges

En esta vista filtrada por filas se muestran todos los privilegios de control de acceso pormenorizado concedidos en todos los flujos de cambios a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos 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 concede este privilegio.
change_stream_catalog character varying Nombre de la base de datos.
change_stream_schema character varying Nombre del esquema que contiene el flujo de cambios. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
change_stream_name character varying Nombre del flujo de cambios.
privilege_type character varying 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 monitorizan. Cada fila describe una tabla y un flujo de cambios. Las entidades de seguridad que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades de seguridad a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver las filas de los flujos de cambios en los que se ha concedido 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 de change_stream_tables no incluyen las relaciones implícitas entre las tablas y los flujos de cambios que monitorizan toda la base de datos.

Nombre de la columna Tipo Descripción
change_stream_catalog character varying Nombre de la base de datos.
change_stream_schema character varying Nombre del esquema del flujo de cambios. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
change_stream_name character varying Nombre del flujo de cambios al que hace referencia esta fila.
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema de la tabla. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
table_name character varying Nombre de la tabla a la que hace referencia esta fila.
all_columns character varying YES si el flujo de cambios de esta fila monitoriza la totalidad de la tabla a la que hace referencia. De lo contrario, NO. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.

change_streams

En esta vista filtrada por filas se muestran todos los flujos de cambios de una base de datos y se indica cuáles monitorizan toda la base de datos y cuáles monitorizan tablas o columnas específicas. Las entidades de seguridad que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades de seguridad a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los flujos de cambios en los que se haya concedido el privilegio de control de acceso granular SELECT al rol de base de datos actual, a los roles de los que el rol de base de datos actual sea miembro o a public.

Nombre de la columna Tipo Descripción
change_stream_catalog character varying Nombre de la base de datos.
change_stream_schema character varying Nombre del esquema de este flujo de cambios. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
change_stream_name character varying Nombre del flujo de cambios.
all character varying YES si este flujo de cambios monitoriza toda la base de datos. NO si este flujo de cambios monitoriza tablas o columnas específicas. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.

check_constraints

La vista check_constraints contiene una fila por cada restricción de comprobación definida por la palabra clave CHECK o NOT NULL.

Nombre de la columna Tipo Descripción
constraint_catalog character varying Nombre de la base de datos.
constraint_schema character varying Nombre del esquema de la restricción. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
constraint_name character varying Nombre de la restricción. Si el nombre de la restricción no se especifica explícitamente en el esquema, se usa el nombre generado automáticamente.
check_clause character varying Expresión de la restricción CHECK.
spanner_state character varying El estado actual de la restricción CHECK. Estos son los posibles estados:
  • VALIDATING: La base de datos del dialecto de PostgreSQL valida los datos existentes de un comando ALTER CONSTRAINT o ADD CONSTRAINT.
  • COMMITTED: No hay ningún cambio de esquema activo para esta restricción.

column_column_usage

En esta vista se muestran todas las columnas generadas que dependen de otra columna base de la misma tabla.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying El 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 propio information_schema). Esta columna nunca es nula.
table_name character varying Nombre de la tabla que contiene las columnas generadas.
column_name character varying Nombre de la columna base de la que depende la columna generada.
dependent_column character varying Nombre de la columna generada.

column_options

Esta vista muestra todas las opciones definidas para las columnas de la tabla de referencia de una restricción de clave externa. La vista solo contiene las columnas de la tabla de referencia a las que tiene acceso el usuario actual (porque es el propietario o porque se le han concedido privilegios).

Nombre de la columna Tipo Descripción
table_catalog character varying 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, information_schema). Esta columna nunca es nula.
table_name character varying Nombre de la tabla externa.
column_name character varying Nombre de la columna.
option_name character varying Un identificador SQL que identifica de forma única la opción. 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 Nombre del tipo de datos del valor de esta opción.

column_privileges

En esta vista filtrada por filas se muestran todos los privilegios de control de acceso pormenorizado concedidos en todas las columnas a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos 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 hereda la columna 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 Nombre del rol de la base de datos al que se concede este privilegio.
table_catalog character varying 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 PostgreSQL.
table_name character varying Nombre de la tabla o de la vista que contiene la columna.
column_name character varying Nombre de la columna.
privilege_type character varying 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 de la base de datos. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver las columnas que tengan concedidos privilegios de control de acceso pormenorizado (o los privilegios SELECT, INSERT o UPDATE concedidos en sus tablas contenedoras) al rol de base de datos actual, a los roles de los que el rol de base de datos actual sea miembro o a public.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying El 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, information_schema). Esta columna nunca es nula.
table_name character varying El nombre de la tabla
column_name character varying Nombre de la columna
ordinal_position BIGINT Posición ordinal de la columna en la tabla, empezando por el valor 1.
column_default character varying Representación de cadena de la expresión de código abierto de PostgreSQL del valor predeterminado de la columna. Por ejemplo, '9'::bigint.
is_nullable character varying Cadena que indica si la columna admite valores nulos. 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:
  • En el caso de los tipos integrados, el nombre del tipo de datos.
  • En el caso de las matrices, el valor es ARRAY.
character_maximum_length BIGINT Longitud máxima declarada para los tipos de datos de cadena de caracteres y de bits. Si no se ha especificado 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 es siempre NULL.
numeric_precision BIGINT La precisión del tipo de datos numérico de la columna actual. En double precision, el valor es 53. En bigint, el valor es 64. En el resto de los tipos de datos, el valor es NULL.
numeric_precision_radix BIGINT Base (unidad) de la precisión de los tipos numéricos. Solo se admiten dos valores:
  • 2 para double precision float8 y bigint
  • 10 por numeric
En el resto de los 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 punto decimal. En bigint, el valor es 0. En el resto de los 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 Cadena que indica si la columna se ha generado. La cadena es ALWAYS para una columna generada o NEVER para una columna no generada.
generation_expression character varying 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 Cadena que contiene el tipo de columna compatible con DDL.
is_stored character varying Cadena que indica si la columna generada está almacenada. La cadena siempre es YES o NO en el caso de las columnas generadas y NULL en el de las no generadas.
spanner_state character varying El estado actual de la columna. Una nueva columna generada almacenada que se añade a una tabla ya creada puede pasar por varios estados observables por el usuario antes de que se pueda usar por completo. Los valores posibles son:
  • NO_WRITE: no se permite leer ni escribir en las columnas. Una columna generada almacenada en este estado no provoca ningún efecto en el cliente.
  • WRITE_ONLY: la columna se está rellenando. No se permite la lectura.
  • COMMITTED: La columna se puede usar por completo.
  • NULL: se usa en las columnas de los esquemas del sistema.

constraint_column_usage

Esta vista contiene una fila sobre cada columna utilizada por 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 CHECK restricciones creadas con la palabra clave CHECK, la vista incluye las columnas que usa la expresión de la restricción CHECK.
  • En el caso de las restricciones de clave externa, la vista contiene las columnas de la tabla a la que se hace referencia.
  • En el caso de las restricciones de UNIQUE, la vista contiene las columnas de KEY_COLUMN_USAGE.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla que contiene la columna que usa la restricción.
table_name character varying Nombre de la tabla que contiene la columna que usa la restricción.
column_name character varying Nombre de la columna que usa la restricción.
constraint_catalog character varying Nombre de la base de datos.
constraint_schema character varying Nombre del esquema de la restricción.
constraint_name character varying Nombre de la restricción.

constraint_table_usage

Esta vista contiene una fila por cada tabla utilizada por 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 principal o única, esta vista identifica la tabla a la que pertenece la restricción. Las restricciones CHECK y NOT NULL no se incluyen en esta vista.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema de la tabla restringida.
table_name character varying Nombre de la tabla que usa alguna restricción.
constraint_catalog character varying Nombre de la base de datos.
constraint_schema character varying Nombre del esquema que contiene la restricción.
constraint_name character varying Nombre de la restricción.

database_options

En esta tabla se enumeran las opciones que se definen en la base de datos.

Nombre de la columna Tipo Descripción
catalog_name character varying Nombre de la base de datos.
schema_name character varying Nombre del esquema. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
option_name character varying Nombre de la opción de la base de datos. Es el valor de key en la cláusula OPTIONS de DDL.
option_type character varying El tipo de datos de la opción de la base de datos.
option_value character varying Valor de la opción de base de datos.

enabled_roles

En esta vista filtrada por filas se muestran los roles de base de datos definidos. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todos los roles de la base de datos. El resto de las entidades de seguridad solo pueden ver los roles de base de datos a los que se les ha concedido acceso directamente o mediante herencia. En esta vista también se muestran todos los roles del sistema, excepto public.

Nombre de la columna Tipo Descripción
role_name character varying 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 muestran las columnas de un índice.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema que contiene el índice. El valor predeterminado es public.
table_name character varying Nombre de la tabla asociada al índice.
index_name character varying Nombre del índice. Las tablas que tienen una especificación PRIMARY KEY tienen una entrada de pseudoíndice generada con el nombre PRIMARY_KEY.
index_type character varying El tipo de índice. Los valores posibles son PRIMARY_KEY, LOCAL o GLOBAL.
column_name character varying Nombre de la columna.
ordinal_position BIGINT Posición ordinal de la columna en el índice (o clave principal), empezando por el valor 1. Este valor es NULL para las columnas que no son de clave (por ejemplo, las columnas especificadas en la cláusula INCLUDE de un índice).
column_ordering character varying 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 Cadena que indica si la columna admite valores nulos. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.
spanner_type character varying Cadena que contiene el tipo de columna compatible con DDL.

indexes

En esta vista se muestran los índices de un esquema.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema. El valor predeterminado es public.
table_name character varying Nombre de la tabla.
index_name character varying 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 principal.
index_type character varying 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, tal como se explica en 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 Indica si las claves de índice deben ser únicas. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.
is_null_filtered character varying Indica si el índice incluye entradas con valores NULL. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.
index_state character varying El estado actual del índice. Estos son los valores posibles y los estados que representan:
  • NULL: el tipo de índice es PRIMARY_KEY
  • PREPARE: crear tablas vacías para un nuevo índice
  • WRITE_ONLY: rellenar datos de un índice nuevo
  • WRITE_ONLY_CLEANUP: limpiando un nuevo índice
  • WRITE_ONLY_VALIDATE_UNIQUE: comprueba la singularidad de los datos en un nuevo índice.
  • READ_WRITE: operación de índice normal
spanner_is_managed character varying Indica si Spanner gestiona el índice. Por ejemplo, Spanner gestiona los índices de reserva secundarios de las claves externas. La cadena es YES o NO, en lugar de un 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 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 de clave principal, clave externa o única. Para obtener información sobre las columnas de CHECK restricción, consulta la vista check_constraints.

Nombre de la columna Tipo Descripción
constraint_catalog character varying Nombre de la base de datos.
constraint_schema character varying Nombre del esquema de la restricción. El valor predeterminado es public.
constraint_name character varying Nombre de la restricción.
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema que contiene la tabla que contiene la columna restringida. El valor predeterminado es public.
table_name character varying Nombre de la tabla que contiene la columna restringida por esta restricción.
column_name character varying Nombre de la columna que está restringida.
ordinal_position BIGINT Posición ordinal de la columna en la clave de la restricción. El valor inicial es 1.
position_in_unique_constraint BIGINT En el caso de los FOREIGN KEYs, la posición ordinal de la columna en la restricción única, empezando por el valor 1. Esta columna tiene el 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 de una función de lectura de un flujo de cambios.

Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los parámetros de las funciones de lectura de la secuencia de cambios en las que se haya concedido el privilegio de EXECUTEcontrol de acceso granularEXECUTE al rol de base de datos actual, a los roles de los que el rol de base de datos actual sea miembro o a public.

Nombre de la columna Tipo Descripción
specific_catalog character varying Nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
specific_name character varying El nombre de la rutina. Identifica de forma única la rutina, aunque su nombre esté sobrecargado.
ordinal_position bigint Posición ordinal del parámetro en la lista de argumentos de la rutina, empezando por 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 El tipo de datos del parámetro. El valor es uno de los siguientes:
  • En el caso de los tipos integrados, el nombre del tipo de datos.
  • En el caso de las matrices, 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 muestran las ubicaciones de la base de datos.

Nombre de la columna Tipo Descripción
placement_name character varying El nombre del emplazamiento.
is_default character varying Cadena que indica si la columna admite valores nulos. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano.

placement-options

En cada emplazamiento, esta tabla muestra las opciones que se definen en la cláusula OPTIONS de la instrucción CREATE PLACEMENT.

Nombre de la columna Tipo Descripción
placement_name character varying El nombre del emplazamiento.
option_name character varying Nombre de la opción de emplazamiento. Los valores válidos de option_name son los siguientes:
  • instance_partition
  • default_leader
option_type character varying El tipo de datos de la opción de emplazamiento.
option_value character varying Es el valor de la opción de emplazamiento. En instance_partition, 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 esta tabla se indica el nombre y las opciones definidas en la cláusula OPTIONS de la instrucción CREATE LOCALITY GROUP de cada grupo de configuración regional.

Nombre de la columna Tipo Descripción
locality_group_name character varying Nombre del grupo de localidades.
option_name character varying Nombre de la opción del grupo de localidades. Las opciones válidas son las siguientes:
  • storage: define el tipo de almacenamiento del grupo de localidades.
  • ssd_to_hdd_spill_timespan: define cuánto tiempo se almacenan los datos en el almacenamiento SSD antes de pasar al almacenamiento HDD.
option_value character varying Valor de la opción de grupo de localidad. En storage, puede ser ssd o hdd. En el caso de ssd_to_hdd_spill_timespan, es el tiempo que deben almacenarse los datos en SSD antes de que se muevan al almacenamiento en HDD. Por ejemplo, 10d es de 10 días. El tiempo mínimo que puedes definir es de una hora.

referential_constraints

Esta vista contiene una fila sobre cada restricción FOREIGN KEY. Solo puedes ver las restricciones de las tablas a las que tienes acceso de escritura. Esta vista también identifica las restricciones PRIMARY KEY y UNIQUE de las tablas de referencia que usan las claves externas para aplicar las restricciones y las acciones de referencia.

Nombre de la columna Tipo Descripción
constraint_catalog character varying Nombre de la base de datos.
constraint_schema character varying 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 Nombre de la base de datos.
unique_constraint_schema character varying Nombre del esquema que contiene la restricción de clave principal o única a la que hace referencia la restricción de clave externa.
unique_constraint_name character varying Nombre de la restricción de clave principal o única a la que hace referencia la restricción de clave externa.
match_option character varying 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 Estado actual de la clave externa. Spanner no empieza a aplicar la restricción hasta que se crean y se rellenan los índices de reserva de la clave externa. Una vez que los índices estén listos, Spanner empezará a aplicar la restricción a las nuevas transacciones mientras valida los datos existentes. Estos son los valores posibles y los estados que representan:
  • BACKFILLING_INDEXES: se están rellenando los índices.
  • VALIDATING_DATA: se están validando los datos actuales y las nuevas escrituras.
  • WAITING_FOR_COMMIT: Las operaciones masivas de claves externas se han completado correctamente o no eran necesarias, pero la clave externa sigue pendiente.
  • COMMITTED: el cambio de esquema se ha confirmado.

role_change_stream_grants

Esta vista filtrada por filas muestra los privilegios SELECT concedidos en todos los flujos de cambios a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos en los 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 concede este privilegio.
change_stream_catalog character varying Nombre de la base de datos.
change_stream_schema character varying Nombre del esquema que contiene el flujo de cambios. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
change_stream_name character varying Nombre del flujo de cambios.
privilege_type character varying Tipo de privilegio (solo SELECT).
is_grantable character varying No se usa. Siempre NO.

role_column_grants

En esta vista filtrada por filas se muestran todos los privilegios de control de acceso pormenorizado concedidos en todas las columnas a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos 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 hereda la columna 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 Nombre del rol de la base de datos al que se concede este privilegio.
table_catalog character varying 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 PostgreSQL.
table_name character varying Nombre de la tabla o de la vista que contiene la columna.
column_name character varying Nombre de la columna.
privilege_type character varying 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 muestran los EXECUTEprivilegios concedidos en todas las funciones de lectura de secuencias de cambios a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos en las funciones de lectura de la secuencia 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 El nombre del rol al que se ha concedido el privilegio.
specific_catalog character varying Nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
specific_name character varying El nombre de la rutina. Identifica de forma única la rutina, aunque su nombre esté sobrecargado.
routine_catalog character varying Nombre de la base de datos.
routine_schema character varying El nombre del esquema de la rutina. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
routine_name character varying El nombre de la rutina. (Puede duplicarse en caso de sobrecarga).
privilege_type character varying El tipo de privilegio concedido. 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 pormenorizado concedidos en todas las tablas y vistas a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos 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 concede este privilegio.
table_catalog character varying 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 PostgreSQL.
table_name character varying Nombre de la tabla o de la vista.
privilege_type character varying 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 por cada opción de cada función de lectura de flujo de cambios definida.

Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver las opciones de las funciones de lectura de flujo de cambios en las que se ha concedido el privilegio de EXECUTEcontrol de acceso granularpublic 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 Nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
specific_name character varying El nombre de la rutina. Identifica de forma única la rutina, aunque su nombre esté sobrecargado.
option_name character varying Nombre de la opción.
option_type character varying El tipo de datos de la opción. El valor es uno de los siguientes:
  • En el caso de los tipos integrados, el nombre del tipo de datos.
  • En el caso de las matrices, el valor ARRAY.
option_value character varying Valor de la opción.

routine_privileges

En esta vista filtrada por filas se enumeran todos los privilegios de control de acceso pormenorizado concedidos en todas las funciones de lectura de secuencias de cambios a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos en las funciones de lectura de la secuencia 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 El nombre del rol al que se ha concedido el privilegio.
specific_catalog character varying Nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. En las bases de datos con dialecto PostgreSQL, el valor predeterminado es public.
specific_name character varying El nombre de la rutina. Identifica de forma única la rutina, aunque su nombre esté sobrecargado.
routine_catalog character varying 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 El nombre de la rutina. (Puede que se duplique si está sobrecargado).
privilege_type character varying El tipo de privilegio concedido.
is_grantable character varying No se usa. Siempre NO.

routines

Esta vista filtrada por filas muestra todas las funciones de lectura de un flujo de cambios de una base de datos. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver las funciones de lectura de los flujos de cambios en las que se haya concedido el privilegio de control de acceso granular EXECUTE al rol de base de datos actual, a los roles de los que el rol de base de datos actual sea miembro o a public.

Nombre de la columna Tipo Descripción
specific_catalog character varying Nombre de la base de datos.
specific_schema character varying El nombre del esquema de la rutina. El valor predeterminado es public para las bases de datos con dialecto PostgreSQL.
specific_name character varying El nombre de la rutina. Identifica de forma única la rutina, aunque su nombre esté sobrecargado.
routine_catalog character varying Nombre de la base de datos.
routine_schema character varying El nombre del esquema de la rutina.
routine_name character varying 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 El tipo de valor devuelto de la rutina. El valor es uno de los siguientes:
  • En el caso de los tipos integrados, el nombre del tipo de datos.
  • En el caso de las matrices, 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 del cuerpo de la rutina (SQL o EXTERNAL).
routine_definition character varying La definición de la routine_body SQL, vacía en caso contrario.
external_name character varying No se usa. El valor es siempre 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 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 por 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 Nombre de la base de datos.
schema_name character varying Nombre del esquema. El valor predeterminado es public para el esquema predeterminado y no está vacío para los esquemas con nombre.
schema_owner character varying 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 Marca de tiempo en la que todos los datos de este esquema se hicieron efectivos. 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 Nombre de la base de datos.
sequence_schema character varying Nombre del esquema de la secuencia. El valor predeterminado es public para una base de datos con dialecto PostgreSQL.
sequence_name character varying 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 El tipo de secuencia. bit_reversed_positive es el único valor aceptable.
counter_start_value bigint Valor inicial del contador de la secuencia.
skip_range_min bigint El valor mínimo del intervalo omitido. Si no se define, el valor es NULL.
skip_range_max bigint Valor máximo del intervalo omitido. Si no se define, el valor es NULL.

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 Nombre de la base de datos.
schema_name character varying Nombre del esquema. El valor de esquema predeterminado es public.
package_name character varying Nombre del paquete de estadísticas.
allow_gc character varying Indica si el paquete de estadísticas está exento de la recogida de elementos no utilizados. De acuerdo con el estándar SQL, la cadena es YES o NO, en lugar de un valor booleano. Este atributo debe definirse como NO para poder 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 pertenecientes a las tablas a las que tiene acceso el usuario actual (excepto SELECT).

Nombre de la columna Tipo Descripción
constraint_catalog character varying Nombre de la base de datos.
constraint_schema character varying Nombre del esquema que contiene la restricción.
constraint_name character varying Nombre de la restricción.
table_catalog character varying 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 Nombre de la tabla.
constraint_type character varying El tipo de restricción. Los valores posibles son:
  • 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 alcance un estado determinado), se valida tanto en el momento de la escritura como mediante un verificador de integridad en segundo plano. De acuerdo con el estándar 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 pormenorizado concedidos en todas las tablas y vistas a cualquier rol de base de datos, incluido public. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las filas de esta vista. El resto de las entidades solo pueden ver los privilegios concedidos 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 concede este privilegio.
table_catalog character varying 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 PostgreSQL.
table_name character varying Nombre de la tabla o de la vista.
privilege_type character varying 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 muestran todas las tablas y vistas de la base de datos actual. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las tablas y vistas. El resto de las entidades solo pueden ver las tablas que cumplan alguno de los siguientes requisitos:

  • Los privilegios de control de acceso pormenorizado SELECT, INSERT, UPDATE o DELETE se conceden 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 a public.
  • Los privilegios SELECT, INSERT o UPDATE se conceden 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 a public.

Nombre de la columna Tipo Descripción
table_catalog character varying 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. 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 principal si esta tabla está intercalada o NULL.
on_delete_action character varying Se asigna el valor CASCADE o NO ACTION a las tablas intercaladas y NULL en el resto de los casos. Consulta más información sobre las instrucciones TABLE.
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 se incluyen operaciones en bloque. Por ejemplo, cuando la tabla se crea con una clave externa que requiere rellenar su índice de referencia. Los posibles estados son:
  • ADDING_FOREIGN_KEY: añadir las claves externas de la tabla
  • WAITING_FOR_COMMIT: Finalizar el cambio de esquema
  • COMMITTED: se ha confirmado el cambio de esquema para crear la tabla. No puedes escribir en la tabla hasta que se confirme el cambio.
  • NULL: tablas o vistas que no son tablas base.
interleave_type character varying Indica si existe una relación de principal-secundario entre esta tabla y la tabla en la que está intercalada. Los valores posibles son:
  • IN: una tabla INTERLEAVE IN que no tiene ninguna relación principal-secundario. Una fila de esta tabla puede existir independientemente de la existencia de su fila de tabla principal.
  • IN PARENT: una tabla INTERLEAVE IN PARENT que tiene una relación principal-secundario. Una fila de esta tabla requiere la existencia de su fila de tabla principal.
row_deletion_policy_expression character varying 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 Nombre de la tabla.
SYNONYM_CATALOG STRING Nombre del catálogo del sinónimo.
SYNONYM_SCHEMA STRING Nombre del esquema del sinónimo.
SYNONYM_TABLE_NAME STRING Nombre de la tabla del sinónimo.

views

En esta vista filtrada por filas se muestran todas las vistas de la base de datos actual. Las entidades que tienen permisos de gestión de identidades y accesos a nivel de base de datos y las entidades a las que se les ha concedido acceso al rol de sistema spanner_info_reader o a los miembros de ese rol pueden ver todas las vistas. El resto de las entidades solo pueden ver las vistas que tengan el privilegio de SELECTcontrol de acceso pormenorizado concedido al rol de base de datos actual, a los roles de los que el rol de base de datos actual sea miembro o a public.

Nombre de la columna Tipo Descripción
table_catalog character varying Nombre de la base de datos.
table_schema character varying Nombre del esquema. El valor predeterminado es public.
table_name character varying 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. Debe ser INVOKER o DEFINER.

Para obtener más información, consulta Acerca de las visualizaciones.

Ejemplos

Devuelve información sobre cada tabla del 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 de la information_schema para las bases de datos del dialecto PostgreSQL:

SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"

Devuelve información sobre las columnas de la tabla de usuarios my_table del 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 del 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 de base de datos relacionadas con el optimizador actuales:

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;

Siguientes pasos