Esquema de información para las bases de datos de dialecto de Google SQL

El esquema de información es un esquema integrado que es común a todas las bases de datos de Cloud Spanner. 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 = ''

Los usuarios del control de acceso detallado ven los resultados filtrados de algunas tablas de INFORMATION_SCHEMA según la función que tengan en la base de datos. Para obtener más información, consulta Acerca del control de acceso detallado.

Uso

Tablas en INFORMATION_SCHEMA

SCHEMATA

La tabla INFORMATION_SCHEMA.SCHEMATA enumera los esquemas en la base de datos. En estos se incluyen el esquema de información y un esquema sin nombre (que denominaremos “esquema predeterminado”), que contiene las tablas que definas.

Nombre de la columna Tipo Descripción
CATALOG_NAME STRING Es el nombre del catálogo. Esta columna existe para la compatibilidad con las tablas de esquema de información estándar de SQL. Esta columna es siempre una string vacía.
SCHEMA_NAME STRING Es el nombre del esquema. Esta opción está vacía cuando se trata del esquema predeterminado y no lo está para los esquemas con nombre.

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 STRING Es el nombre del catálogo. Siempre es una string vacía.
SCHEMA_NAME STRING Es el nombre del esquema. Es una string vacía si no tiene nombre.
OPTION_NAME STRING El nombre de la opción de base de datos.
OPTION_TYPE STRING Tipo de datos de la opción de base de datos.
OPTION_VALUE STRING El valor de la opción de base de datos.

TABLES

La tabla enumera las tablas y vistas de un esquema.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
TABLE_SCHEMA STRING Es el nombre del esquema. Es una string vacía si no tiene nombre.
TABLE_NAME STRING El nombre de la tabla o vista.
TABLE_TYPE STRING El tipo de tabla. Para las tablas, tiene el valor BASE TABLE; para las vistas, tiene el valor VIEW.
PARENT_TABLE_NAME STRING Es el nombre de la tabla superior si esta tabla está intercalada o es NULL.
ON_DELETE_ACTION STRING Se establece en CASCADE o NO ACTION para las tablas intercaladas, y NULL en el caso contrario. Consulta Sentencias TABLE para obtener más información.
SPANNER_STATE STRING Si se involucran operaciones masivas, una tabla puede pasar por varios estados durante la creación. Por ejemplo, cuando se crea la tabla con una clave externa que requiere el reabastecimiento de sus índices. Los estados posibles son los siguientes:
  • 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 se confirme el cambio.

COLUMNS

En esta tabla, se enumeran las columnas de una tabla.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
TABLE_SCHEMA STRING Es el nombre del esquema. Es una string vacía si no tiene nombre.
TABLE_NAME STRING Es el nombre de la tabla.
COLUMN_NAME STRING Es el nombre de la columna
ORDINAL_POSITION INT64 Es la posición ordinal de la columna en la tabla, que comienza con un valor de 1.
COLUMN_DEFAULT STRING

Una representación de string de la expresión de SQL para el valor predeterminado de la columna. NULL si la columna no tiene un valor predeterminado.

Nota: Antes de marzo de 2022, COLUMN_DEFAULT usaba el tipo BYTES.

DATA_TYPE STRING Se incluye para satisfacer el estándar de SQL. Siempre NULL.
IS_NULLABLE STRING Es una string que indica si la columna acepta el valor NULL. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano.
SPANNER_TYPE STRING Es el tipo de datos de la columna.
IS_GENERATED STRING 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 STRING Una string que representa la expresión SQL de una columna generada. NULL si la columna no es una columna generada.
IS_STORED STRING Una string que indica si se almacena la columna generada. La string siempre es YES para las columnas generadas y NULL para las columnas no generadas.
SPANNER_STATE STRING 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:
  • WRITE_ONLY: La columna se está reabasteciendo. No se permite ninguna lectura.
  • COMMITTED: la columna es completamente utilizable.

COLUMN_PRIVILEGES

En esta tabla, se enumeran todos los privilegios otorgados a nivel de columna a los roles de base de datos.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING El nombre del catálogo de tablas de la columna privilegiada. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla de columnas con privilegios. Siempre es una string vacía.
TABLE_NAME STRING El nombre de la tabla que contiene la columna con privilegios.
COLUMN_NAME STRING El nombre de la columna con privilegios.
PRIVILEGE_TYPE STRING SELECT, INSERT, UPDATE
GRANTEE STRING El nombre de la función de la base de datos a la que se otorga este privilegio.

TABLE_PRIVILEGES

En esta tabla, se enumeran todos los privilegios otorgados a nivel de la tabla a las funciones de base de datos.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING El nombre del catálogo de la tabla con privilegios. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla con privilegios. Siempre es una string vacía.
TABLE_NAME STRING El nombre de la tabla con privilegios.
PRIVILEGE_TYPE STRING SELECT, INSERT, UPDATE, DELETE
GRANTEE STRING El nombre de la función de la base de datos a la que se otorga este privilegio.

TABLE_CONSTRAINTS

Esta tabla contiene una fila para cada restricción definida para las tablas en la base de datos.

Nombre de la columna Tipo Descripción
CONSTRAINT_CATALOG STRING Siempre hay una string vacía.
CONSTRAINT_SCHEMA STRING El nombre del esquema de la restricción. Es una string vacía si no tiene nombre.
CONSTRAINT_NAME STRING El nombre de la restricción.
TABLE_CATALOG STRING El nombre del catálogo de la tabla restringida. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla restringida. Es una string vacía si no tiene nombre.
TABLE_NAME STRING El nombre de la tabla restringida.
CONSTRAINT_TYPE STRING El tipo de restricción. Los valores posibles son los siguientes:
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • UNIQUE
IS_DEFERRABLE STRING Siempre NO.
INITIALLY_DEFERRED STRING Siempre NO.
ENFORCED STRING Siempre YES.

CONSTRAINT_TABLE_USAGE

En la tabla, se enumeran tablas que definen o usan las restricciones. Incluye tablas que definen restricciones PRIMARY KEY y UNIQUE. También incluye las tablas a las que se hace referencia en las definiciones FOREIGN KEY.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo de la tabla restringida. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla restringida. Es una string vacía si no tiene nombre.
TABLE_NAME STRING El nombre de la tabla restringida.
CONSTRAINT_CATALOG STRING El nombre del catálogo de la restricción. Siempre es una string vacía.
CONSTRAINT_SCHEMA STRING El nombre del esquema de la restricción. Es una string vacía si no tiene nombre.
CONSTRAINT_NAME STRING El nombre de la restricción.

REFERENTIAL_CONSTRAINTS

Esta tabla contiene una fila para cada restricción FOREIGN KEY.

Nombre de la columna Tipo Descripción
CONSTRAINT_CATALOG STRING El nombre del catálogo de CLAVE EXTERNA. Siempre es una string vacía.
CONSTRAINT_SCHEMA STRING El nombre del esquema de CLAVE EXTERNA. Es una string vacía si no tiene nombre.
CONSTRAINT_NAME STRING El nombre de la CLAVE EXTERNA.
UNIQUE_CONSTRAINT_CATALOG STRING El nombre del catálogo de la CLAVE PRINCIPAL o la restricción UNIQUE a la que hace referencia la CLAVE FOREIGN. Siempre es una string vacía.
UNIQUE_CONSTRAINT_SCHEMA STRING El nombre del esquema de la restricción PRIMARY KEY o UNIQUE a la que hace referencia KEY FOREIGN. Es una string vacía si no tiene nombre.
UNIQUE_CONSTRAINT_NAME STRING Es el nombre de la CLAVE PRIMARIA o la ÚNICA restricción de las referencias de CLAVE EXTERNA.
MATCH_OPTION STRING Siempre SIMPLE.
UPDATE_RULE STRING Siempre NO ACTION.
DELETE_RULE STRING Siempre NO ACTION.
SPANNER_STATE STRING El estado actual de la clave externa. Spanner no comienza a aplicar la restricción hasta que se creen y repongan los índices de copia de seguridad de la clave externa. Una vez que los índices están listos, Spanner comienza a aplicar la restricción en las transacciones nuevas mientras valida 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 de clave externa se completaron correctamente, o bien no se necesitaba ninguna, pero la clave externa aún está pendiente.
  • COMMITTED: Se confirmó el cambio de esquema.

CHECK_CONSTRAINTS

La tabla information_schema.CHECK_CONSTRAINTS contiene una fila para cada restricción CHECK definida por la palabra clave CHECK o NOT NULL.

Nombre de la columna Tipo Descripción
CONSTRAINT_CATALOG STRING El nombre del catálogo de la restricción. Esta columna nunca es nula, pero siempre es una string vacía.
CONSTRAINT_SCHEMA STRING El nombre del esquema de la restricción. Es una string vacía si no tiene nombre.
CONSTRAINT_NAME STRING El nombre de la restricción. Esta columna nunca es NULL. Si no se especifica de forma explícita en la definición de esquema, se asigna un nombre definido por el sistema.
CHECK_CLAUSE STRING Las expresiones de la restricción CHECK. Esta columna nunca es NULL.
SPANNER_STATE STRING El estado actual de la restricción CHECK. Esta columna nunca es NULL. Los estados posibles son los siguientes:
  • VALIDATING: Spanner valida los datos existentes.
  • COMMITTED: No hay un cambio de esquema activo para esta restricción.

KEY_COLUMN_USAGE

Esta tabla contiene una fila sobre cada columna de las tablas de TABLE_CONSTRAINTS que están restringidas como claves por una restricción PRIMARY KEY, FOREIGN KEY o UNIQUE. Estas son las columnas de las tablas que definen las restricciones.

Nombre de la columna Tipo Descripción
CONSTRAINT_CATALOG STRING El nombre del catálogo de la restricción. Siempre es una string vacía.
CONSTRAINT_SCHEMA STRING El nombre del esquema de la restricción. Esta columna nunca es NULL. Una string vacía si no tiene nombre.
CONSTRAINT_NAME STRING El nombre de la restricción.
TABLE_CATALOG STRING El nombre del catálogo de la columna restringida. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la columna restringida. Esta columna nunca es NULL. Es una string vacía si no tiene nombre.
TABLE_NAME STRING El nombre de la tabla de la columna restringida.
COLUMN_NAME STRING Es el nombre de la columna
ORDINAL_POSITION INT64 La posición ordinal de la columna dentro de la clave de restricción, que comienza con un valor de 1.
POSITION_IN_UNIQUE_CONSTRAINT INT64 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 es nula para otros tipos de restricciones.

CONSTRAINT_COLUMN_USAGE

Esta tabla contiene una fila para cada columna que usa una restricción. Incluye las columnas PRIMARY KEY y UNIQUE, además de las columnas a las que se hace referencia de las restricciones FOREIGN KEY.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING El nombre del catálogo de la tabla de la columna. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla de columnas. Esta columna nunca es NULL. Una string vacía si no tiene nombre.
TABLE_NAME STRING El nombre de la tabla de la columna.
COLUMN_NAME STRING El nombre de la columna que se usa en la restricción.
CONSTRAINT_CATALOG STRING El nombre del catálogo de la restricción. Siempre es una string vacía.
CONSTRAINT_SCHEMA STRING El nombre del esquema de la restricción. Es una string vacía si no tiene nombre.
CONSTRAINT_NAME STRING El nombre de la restricción.

INDEXES

En la tabla, se enumeran los índices de un esquema.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
TABLE_SCHEMA STRING Es el nombre del esquema. Es una string vacía si no tiene nombre.
TABLE_NAME STRING Es el nombre de la tabla.
INDEX_NAME STRING Es el nombre del índice. Las tablas con una especificación PRIMARY KEY tienen una entrada de seudoíndice generada con el nombre PRIMARY_KEY, que permite determinar los campos de la clave primaria.
INDEX_TYPE STRING Es el tipo de índice. El tipo es INDEX o PRIMARY_KEY.
PARENT_TABLE_NAME STRING Los índices secundarios se pueden intercalar en una tabla superior, como se explica en Crea un índice secundario. Esta columna contiene el nombre de esa tabla superior o NULL si el índice no está intercalado.
IS_UNIQUE BOOL Se indica si las claves de índice deben ser únicas.
IS_NULL_FILTERED BOOL Se indica si el índice incluye entradas con valores NULL.
INDEX_STATE STRING Es el estado actual del índice. Los valores posibles y los estados que representan son los siguientes:
  • 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: Comprueba la unicidad de los datos en un índice nuevo.
  • READ_WRITE: Operación de índice normal.
SPANNER_IS_MANAGED BOOL TRUE si Spanner administra el índice; de lo contrario, es FALSE. Spanner administra los índices de respaldo secundarios para las claves externas.

INDEX_COLUMNS

La tabla enumera las columnas de un índice.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
TABLE_SCHEMA STRING Es el nombre del esquema. Es una string vacía si no tiene nombre.
TABLE_NAME STRING Es el nombre de la tabla.
INDEX_NAME STRING Es el nombre del índice.
COLUMN_NAME STRING Es el nombre de la columna
ORDINAL_POSITION INT64 Es la posición ordinal de la columna en el índice (o clave primaria), que comienza con un valor de 1. Este valor es NULL para las columnas sin clave (por ejemplo, las columnas especificadas en la cláusula STORING de un índice).
COLUMN_ORDERING STRING Es el orden 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 STRING Es una string que indica si la columna acepta el valor NULL. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano.
SPANNER_TYPE STRING Es el tipo de datos de la columna.

COLUMN_OPTIONS

En la tabla, se enumeran las opciones de columna de una tabla.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
TABLE_SCHEMA STRING Es el nombre del esquema. El nombre está vacío en el esquema predeterminado y no está vacío en otros esquemas (por ejemplo, en el INFORMATION_SCHEMA). Esta columna nunca es NULL.
TABLE_NAME STRING Es el nombre de la tabla.
COLUMN_NAME STRING Es el nombre de la columna
OPTION_NAME STRING 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_TYPE STRING Es un nombre de tipo de datos que es el tipo de este valor de opción.
OPTION_VALUE STRING Un literal de SQL que describe el valor de esta opción. El valor de esta columna debe poder analizarse como parte de una consulta. La expresión resultante de este análisis del valor debe poder convertirse en OPTION_TYPE. Esta columna nunca 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 STRING Es el nombre del catálogo. Siempre es una string vacía.
SCHEMA_NAME STRING Es el nombre del esquema. El nombre está vacío en el esquema predeterminado y no está vacío en otros esquemas (por ejemplo, en el INFORMATION_SCHEMA). Esta columna nunca es NULL.
PACKAGE_NAME STRING El nombre del paquete de estadísticas.
ALLOW_GC BOOL FALSE si el paquete de estadísticas está exento de la recolección de elementos no utilizados; de lo contrario, TRUE.
Este atributo debe configurarse en FALSE para hacer referencia al paquete de estadísticas en una sugerencia o a través de la API del cliente.

VIEWS

En esta tabla, se muestra información sobre las vistas de un esquema.

Nombre de la columna Tipo Descripción
TABLE_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
TABLE_SCHEMA STRING Es el nombre del esquema. Es una string vacía si no tiene nombre.
TABLE_NAME STRING El nombre de la vista.
VIEW_DEFINITION STRING El texto SQL de la consulta que define la vista.

ROLES

En esta tabla, se incluye información sobre las funciones de bases de datos para un control de acceso detallado. Las funciones de base de datos son conjuntos de privilegios.

Nombre de la columna Tipo Descripción
ROLE_NAME STRING El nombre del rol de la base de datos.
IS_SYSTEM BOOL TRUE si la función de base de datos es una función de sistema; de lo contrario, FALSE.

ROLE_GRANTEES

En esta tabla, se incluye información sobre los beneficiarios de funciones de base de datos en un esquema. role_name es una función de base de datos para el control de acceso detallado, y grantee es la función que tiene membresía en role_name.

Debido a que todas las funciones de bases de datos son miembros de la función pública, los resultados omiten los registros de la membresía implícita en la función pública.

Nombre de la columna Tipo Descripción
ROLE_NAME STRING El nombre del rol de la base de datos en el que se otorga esta membresía.
GRANTEE STRING El nombre de la función de la base de datos a la que se otorga esta membresía.

CHANGE_STREAMS

En esta tabla, se enumeran todos los flujos de cambio de una base de datos y se indican los que realizan un seguimiento de toda la base de datos en comparación con tablas o columnas específicas.

Nombre de la columna Tipo Descripción
CHANGE_STREAM_CATALOG STRING Es el nombre del catálogo del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_SCHEMA STRING Es el nombre del esquema de esta transmisión de cambios. Siempre es una string vacía.
CHANGE_STREAM_NAME STRING Es el nombre del flujo de cambios.
ALL BOOL TRUE si este flujo de cambios realiza un seguimiento de toda la base de datos FALSE si este flujo de cambios realiza un seguimiento de tablas o columnas específicas

CHANGE_STREAM_TABLES

Esta tabla contiene las relaciones entre las tablas de una base de datos y sus flujos de cambios. Cada fila se refiere a una tabla de base de datos y a un flujo de cambio.

Los datos de CHANGE_STREAM_TABLES no incluyen las relaciones implícitas entre las tablas y los flujos de cambios que realizan un seguimiento de toda la base de datos.

Nombre de la columna Tipo Descripción
CHANGE_STREAM_CATALOG STRING Es el nombre del catálogo del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_SCHEMA STRING Es el nombre del esquema del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_NAME STRING El nombre del flujo de cambios al que hace referencia esta fila.
TABLE_CATALOG STRING El nombre del catálogo de la tabla. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla. Siempre es una string vacía.
TABLE_NAME STRING El nombre de la tabla a la que hace referencia esta fila.
ALL_COLUMNS BOOL TRUE si el flujo de cambios de esta fila realiza un seguimiento de la totalidad de la tabla a la que hace referencia esta fila. En caso contrario, FALSE.

CHANGE_STREAM_COLUMNS

Esta tabla contiene la relación entre las columnas de una base de datos y sus flujos de cambios. Cada fila se refiere a un flujo de cambios y una columna de base de datos.

Los datos de CHANGE_STREAM_COLUMNS no incluyen las relaciones implícitas entre columnas y flujos de cambios que realizan un seguimiento de las tablas enteras de esas columnas.

Nombre de la columna Tipo Descripción
CHANGE_STREAM_CATALOG STRING Es el nombre del catálogo del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_SCHEMA STRING Es el nombre del esquema del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_NAME STRING Es el nombre del flujo de cambios.
TABLE_CATALOG STRING El nombre del catálogo de la tabla. Siempre es una string vacía.
TABLE_SCHEMA STRING El nombre del esquema de la tabla. Siempre es una string vacía.
TABLE_NAME STRING El nombre de la tabla a la que hace referencia esta fila.
COLUMN_NAME STRING El nombre de la columna a la que hace referencia esta fila.

CHANGE_STREAM_OPTIONS

Esta tabla contiene las opciones de configuración para los flujos de cambios.

Nombre de la columna Tipo Descripción
CHANGE_STREAM_CATALOG STRING Es el nombre del catálogo del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_SCHEMA STRING Es el nombre del esquema del flujo de cambios. Siempre es una string vacía.
CHANGE_STREAM_NAME STRING Es el nombre del flujo de cambios.
OPTION_NAME STRING Es el nombre de la opción de flujo de cambios.
OPTION_TYPE STRING El tipo de datos de la opción de flujo de cambios.
OPTION_VALUE STRING Es el valor de la opción de flujo de cambios.

CHANGE_STREAM_PRIVILEGES

En esta tabla, se enumeran todos los privilegios otorgados en las flujos de cambios de las funciones de la base de datos.

Nombre de la columna Tipo Descripción
CHANGE_STREAM_CATALOG STRING Es el nombre del catálogo que contiene el flujo de cambios (string actualmente vacía).
CHANGE_STREAM_SCHEMA STRING El nombre del esquema que contiene el flujo de cambios (string actualmente vacía).
CHANGE_STREAM_NAME STRING Es el nombre del flujo de cambios.
PRIVILEGE_TYPE STRING SELECT (el único privilegio permitido para los flujos de cambios).
GRANTEE STRING El nombre de la función de la base de datos a la que se otorga este privilegio.

MODELS

En esta tabla, se enumeran todos los modelos de una base de datos.

Nombre de la columna Tipo Descripción
MODEL_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
MODEL_SCHEMA STRING Es el nombre del esquema de este modelo. Siempre es una string vacía.
MODEL_NAME STRING El nombre del modelo.
IS_REMOTE BOOL TRUE si se trata de un modelo remoto. FALSE si este es un modelo administrado.

MODEL_OPTIONS

Esta tabla contiene las opciones de configuración para los modelos.

Nombre de la columna Tipo Descripción
MODEL_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
MODEL_SCHEMA STRING Es el nombre del esquema de este modelo. Siempre es una string vacía.
MODEL_NAME STRING El nombre del modelo.
OPTION_NAME STRING El nombre de la opción del modelo.
OPTION_TYPE STRING El tipo de datos de la opción de modelo.
OPTION_VALUE STRING Es el valor de la opción de modelo.

MODEL_COLUMNS

En esta tabla, se enumeran las columnas de un modelo.

Nombre de la columna Tipo Descripción
MODEL_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
MODEL_SCHEMA STRING Es el nombre del esquema de este modelo. Siempre es una string vacía.
MODEL_NAME STRING El nombre del modelo.
COLUMN_KIND STRING Tipo de columna del modelo. Puede ser "INPUT" o "OUTPUT".
COLUMN_NAME STRING Es el nombre de la columna
DATA_TYPE STRING El tipo de datos SQL estándar de la columna.
ORDINAL_POSITION INT64 Es la posición ordinal de la columna, que comienza con un valor de 1, para conservar el orden de las columnas declaradas.
IS_EXPLICIT BOOL TRUE si la columna se especificó de forma explícita en el DDL, FALSE si la columna se descubrió desde el extremo

MODEL_COLUMN_OPTIONS

Esta tabla contiene las opciones de configuración para las columnas de modelos.

Nombre de la columna Tipo Descripción
MODEL_CATALOG STRING Es el nombre del catálogo. Siempre es una string vacía.
MODEL_SCHEMA STRING Es el nombre del esquema de este modelo. Siempre es una string vacía.
MODEL_NAME STRING El nombre del modelo.
COLUMN_KIND STRING Tipo de columna del modelo. Puede ser "INPUT" o "OUTPUT".
COLUMN_NAME STRING Es el nombre de la columna
OPTION_NAME STRING El nombre de la opción de columna del modelo.
OPTION_TYPE STRING El tipo de datos de la opción de columna del modelo.
OPTION_VALUE STRING El valor de la opción de columna del modelo.

Ejemplos

Muestra información sobre cada tabla en el esquema del usuario:

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

Muestre el nombre de todas las tablas en INFORMATION_SCHEMA:

SELECT
  t.table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = "SPANNER_SYS"

Muestra información sobre las columnas de la tabla de usuarios MyTable:

SELECT
  t.column_name,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.table_name = 'MyTable'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.ordinal_position

Muestra información sobre la región líder predeterminada de la base de datos. Se muestra vacía si no está configurado el líder predeterminado:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.option_name = 'default_leader'

Muestra información sobre cada índice en el esquema del usuario:

SELECT
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  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_catalog = ''
AND
  t.table_schema = ''

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=''
  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?

  • Obtén más información sobre las herramientas de introducción disponibles que te ayudarán a investigar los problemas de las bases de datos.