El esquema de información es un esquema integrado que es común a todas las bases de datos de Spanner. 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 ('information_schema', 'SPANNER_SYS')
AND table_type = 'BASE TABLE'
Los usuarios con control de acceso pormenorizado ven resultados filtrados de algunas INFORMATION_SCHEMA
tablas en función de su rol de base de datos. Para obtener más información, consulta Información sobre el control de acceso granular.
Uso
Las tablas INFORMATION_SCHEMA
solo están disponibles a través de interfaces SQL. Por ejemplo:
- La API de
executeQuery
- El comando
gcloud spanner databases execute-sql
- La página Spanner Studio de una base de datos en la consola de Google Cloud
Otros métodos de lectura única no admiten INFORMATION_SCHEMA
.
Algunas notas adicionales sobre el uso de INFORMATION_SCHEMA
:
- Las consultas en
INFORMATION_SCHEMA
se pueden usar en una transacción de solo lectura, pero no en una transacción de lectura y escritura. - Las consultas en
INFORMATION_SCHEMA
pueden usar límites de antigüedad estrictos, acotados o exactos de la marca de tiempo. - Si usas una base de datos con dialecto PostgreSQL, consulta Esquema de información de bases de datos con dialecto PostgreSQL.
- Si eres usuario del control de acceso pormenorizado, las tablas
INFORMATION_SCHEMA
se filtran para mostrar solo los elementos de esquema a los que tienes acceso.
Filtrado de filas en tablas information_schema
Los principales con permisos de gestión de identidades y accesos a nivel de base de datos y los principales a los 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 information_schema. En el caso de otros principales, en algunas tablas, las filas se filtran en función del rol de base de datos actual. En las descripciones de las tablas y las vistas de las secciones siguientes se indica cómo se aplica el filtrado de filas en cada tabla y vista.
Tablas de INFORMATION_SCHEMA
En las secciones siguientes se describen las tablas de INFORMATION_SCHEMA
para bases de datos con dialecto GoogleSQL.
SCHEMATA
En la tabla INFORMATION_SCHEMA.SCHEMATA
se muestran los esquemas de la base de datos. Entre ellos, se incluyen el esquema de información y los esquemas con nombre, que contienen las tablas que definas.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CATALOG_NAME |
STRING |
Nombre del catálogo. Esta columna existe para que sea compatible con las tablas de esquema de información estándar de SQL. Esta columna siempre es una cadena vacía. |
SCHEMA_NAME |
STRING |
Nombre del esquema. Es el nombre de los esquemas con nombre o `` para el esquema predeterminado. |
PROTO_BUNDLE |
STRING |
Si la base de datos contiene instrucciones de paquete proto, esta columna proporciona información sobre el paquete proto usado en el esquema. Esta columna es NULL si no hay ningún paquete proto en la base de datos. |
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 |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
SCHEMA_NAME |
STRING |
Nombre del esquema. Una cadena vacía si no tiene nombre. |
OPTION_NAME |
STRING |
Nombre de la opción de la base de datos. |
OPTION_TYPE |
STRING |
El tipo de datos de la opción de la base de datos. |
OPTION_VALUE |
STRING |
Valor de la opción de base de datos. |
PLACEMENTS
En esta tabla se muestran las ubicaciones de la base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
PLACEMENT_NAME |
STRING |
El nombre del emplazamiento. |
IS_DEFAULT |
BOOL |
Valor booleano que indica si el emplazamiento es el predeterminado. |
PLACEMENT_OPTIONS
En cada emplazamiento, esta tabla muestra las opciones que se definen en la cláusula OPTIONS
de la instrucción CREATE PLACEMENT
.
Los valores válidos de OPTION_NAME
son los siguientes:
instance_partition
default_leader
Nombre de la columna | Tipo | Descripción |
---|---|---|
PLACEMENT_NAME |
STRING |
El nombre del emplazamiento. |
OPTION_NAME |
STRING |
Nombre de la opción de emplazamiento. |
OPTION_TYPE |
STRING |
El tipo de datos de la opción de emplazamiento. En ambas opciones, el valor es STRING(MAX) . |
OPTION_VALUE |
STRING |
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 |
STRING |
Nombre del grupo de localidades. |
OPTION_NAME |
STRING |
Nombre de la opción del grupo de localidades. Las opciones válidas son las siguientes:
|
OPTION_VALUE |
STRING |
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. |
TABLES
En esta tabla filtrada por filas se muestran las tablas y las vistas de la base de datos. Las entidades de seguridad con 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 tablas que cumplan alguno de los siguientes requisitos:
-
Los privilegios de control de acceso pormenorizado
SELECT
,INSERT
,UPDATE
oDELETE
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 apublic
. - Los privilegios
SELECT
,INSERT
oUPDATE
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 apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla, la vista o el sinónimo. |
TABLE_TYPE |
STRING |
El tipo de tabla. En el caso de las tablas, tiene el valor BASE TABLE ; en el de las vistas, el valor VIEW ; y en el de los sinónimos, el valor SYNONYM . |
PARENT_TABLE_NAME |
STRING |
El nombre de la tabla principal si esta tabla está intercalada y NULL en caso contrario. |
ON_DELETE_ACTION |
STRING |
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 |
STRING |
Una tabla puede pasar por varios estados durante la creación si se incluyen operaciones masivas. Por ejemplo, cuando la tabla se crea con una clave externa que requiere rellenar sus índices. Estos son los posibles estados:
|
INTERLEAVE_TYPE |
STRING |
Texto de la expresión que indica si hay una relación entre esta tabla y la tabla en la que está intercalada.
Los valores posibles son:
|
ROW_DELETION_POLICY_EXPRESSION |
STRING |
Texto de la expresión que define la política de eliminación de filas de la tabla.
Por ejemplo, OLDER_THAN(CreatedAt, INTERVAL 1 DAY) o OLDER_THAN(ExpiredDate, INTERVAL 0 DAY) .
|
COLUMNS
Esta tabla filtrada por filas muestra las columnas de una tabla. Las entidades de seguridad con 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 columnas que cumplan uno de los siguientes requisitos:
- Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede directamente en la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede en la tabla que contiene la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
El nombre del esquema de la tabla de la columna. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla. |
COLUMN_NAME |
STRING |
Nombre de la columna. |
ORDINAL_POSITION |
INT64 |
Posición ordinal de la columna en la tabla, empezando por el valor 1. |
COLUMN_DEFAULT |
STRING |
Una representación de cadena de la expresión SQL del valor predeterminado de la columna.
Nota: Antes de marzo del 2022, |
DATA_TYPE |
STRING |
Se incluye para cumplir el estándar SQL. Siempre NULL . Consulta la columna SPANNER_TYPE . |
IS_NULLABLE |
STRING |
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 |
STRING |
El tipo de datos de la columna. |
IS_GENERATED |
STRING |
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 |
STRING |
Cadena que representa la expresión SQL de una columna generada.
NULL si la columna no es una columna generada. |
IS_STORED |
STRING |
Cadena que indica si la columna generada está almacenada.
La cadena siempre es YES en las columnas generadas y NULL en las no generadas. |
IS_HIDDEN |
STRING |
Una cadena que se define como TRUE si la columna no aparece en una consulta SELECT * y como FALSE en caso contrario. Si la columna está oculta, puedes seleccionarla con su nombre (por ejemplo, SELECT Id, Name, ColHidden FROM TableWithHiddenColumn ). |
SPANNER_STATE |
STRING |
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:
|
IS_IDENTITY |
STRING |
Cadena que se asigna a YES si la columna generada es una columna de identidad y a NO en caso contrario. |
IDENTITY_GENERATION |
STRING |
Cadena que especifica si la columna solo permite valores generados y no valores personalizados insertados por el usuario.
|
IDENTITY_KIND |
STRING |
Siempre BIT_REVERSED_POSITITVE_SEQUENCE . Solo se admiten secuencias positivas con los bits invertidos.
|
IDENTITY_START_WITH_COUNTER |
STRING |
Valor inicial del contador interno antes de la transformación. Por ejemplo, el valor inicial antes de invertir los bits. |
IDENTITY_SKIP_RANGE_MIN |
STRING |
Valor mínimo de un intervalo omitido después de la transformación. |
IDENTITY_SKIP_RANGE_MAX |
STRING |
El valor máximo de un intervalo omitido después de la transformación. |
COLUMN_PRIVILEGES
En esta tabla filtrada por filas se enumeran todos los privilegios concedidos a nivel de columna a cualquier rol de base de datos, incluido public
. Las entidades de seguridad con 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 privilegios de las columnas que cumplan alguno de los siguientes requisitos:
- Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede directamente en la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede en la tabla que contiene la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
El nombre del esquema de la tabla de la columna. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla que contiene la columna con privilegios. |
COLUMN_NAME |
STRING |
Nombre de la columna con privilegios. |
PRIVILEGE_TYPE |
STRING |
SELECT , INSERT , UPDATE |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
TABLE_PRIVILEGES
En esta tabla filtrada por filas se enumeran todos los privilegios concedidos a nivel de tabla a los roles de base de datos, incluido public
.
Las entidades de seguridad con 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 los principales solo pueden ver los privilegios de las tablas en las que se hayan 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
, cualquiera de los privilegios de control de acceso granular SELECT
, INSERT
, UPDATE
o DELETE
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla en la que se conceden los privilegios de control de acceso pormenorizado. |
PRIVILEGE_TYPE |
STRING |
Uno de los valores SELECT , INSERT , UPDATE o DELETE . |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
TABLE_CONSTRAINTS
Esta tabla contiene una fila por cada restricción definida para las tablas de la base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CONSTRAINT_CATALOG |
STRING |
Siempre una cadena vacía. |
CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la restricción. Una cadena vacía si no tiene nombre. |
CONSTRAINT_NAME |
STRING |
Nombre de la restricción. |
TABLE_CATALOG |
STRING |
Nombre del catálogo de la tabla restringida. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla restringida. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
El nombre de la tabla restringida. |
CONSTRAINT_TYPE |
STRING |
El tipo de restricción. Los valores posibles son:
|
IS_DEFERRABLE |
STRING |
Siempre NO . |
INITIALLY_DEFERRED |
STRING |
Siempre NO . |
ENFORCED |
STRING |
NO si la restricción es una
clave externa informativa (NOT ENFORCED ).
YES para claves externas obligatorias o cualquier otro tipo de restricción.
|
CONSTRAINT_TABLE_USAGE
En esta tabla se enumeran las tablas que definen o usan las restricciones. Incluye tablas que definen las restricciones PRIMARY KEY
y UNIQUE
. También incluye las tablas de FOREIGN KEY
definiciones a las que se hace referencia.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
Nombre del catálogo de la tabla restringida. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla restringida. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
El nombre de la tabla restringida. |
CONSTRAINT_CATALOG |
STRING |
Nombre del catálogo de la restricción. Siempre una cadena vacía. |
CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la restricción. Una cadena vacía si no tiene nombre. |
CONSTRAINT_NAME |
STRING |
Nombre de la restricción. |
REFERENTIAL_CONSTRAINTS
Esta tabla contiene una fila sobre cada restricción FOREIGN KEY
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CONSTRAINT_CATALOG |
STRING |
Nombre del catálogo de la clave externa. Siempre una cadena vacía. |
CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la clave externa. Una cadena vacía si no tiene nombre. |
CONSTRAINT_NAME |
STRING |
Nombre de la CLAVE EXTERNA. |
UNIQUE_CONSTRAINT_CATALOG |
STRING |
Nombre de catálogo de la restricción PRIMARY KEY o UNIQUE a la que hace referencia la clave externa. Siempre una cadena vacía. |
UNIQUE_CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la restricción PRIMARY KEY o UNIQUE a la que hace referencia la clave externa. Una cadena vacía si no tiene nombre. |
UNIQUE_CONSTRAINT_NAME |
STRING |
El nombre de la restricción PRIMARY KEY o UNIQUE a la que hace referencia la clave externa. |
MATCH_OPTION |
STRING |
Siempre SIMPLE . |
UPDATE_RULE |
STRING |
Siempre NO ACTION . |
DELETE_RULE |
STRING |
Puede ser CASCADE o NO ACTION . |
SPANNER_STATE |
STRING |
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:
|
CHECK_CONSTRAINTS
La tabla information_schema.CHECK_CONSTRAINTS
contiene una fila sobre cada restricción CHECK
definida por la palabra clave CHECK
o NOT NULL
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CONSTRAINT_CATALOG |
STRING |
Nombre del catálogo de la restricción. Esta columna nunca es nula, sino que siempre es una cadena vacía. |
CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la restricción. Una cadena vacía si no tiene nombre. |
CONSTRAINT_NAME |
STRING |
Nombre de la restricción. Esta columna nunca es nula. Si no se especifica explícitamente en la definición del esquema, se asigna un nombre definido por el sistema. |
CHECK_CLAUSE |
STRING |
Las expresiones de la restricción CHECK . Esta columna nunca es nula. |
SPANNER_STATE |
STRING |
El estado actual de la restricción CHECK . Esta columna nunca es nula. Estos son los posibles estados:
|
KEY_COLUMN_USAGE
Esta tabla filtrada por filas 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
. Las entidades de seguridad con 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 columnas que cumplan los siguientes criterios:
- Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede directamente en la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede en la tabla que contiene la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CONSTRAINT_CATALOG |
STRING |
Nombre del catálogo de la restricción. Siempre una cadena vacía. |
CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la restricción. Esta columna nunca es nula. Una cadena vacía si no tiene nombre. |
CONSTRAINT_NAME |
STRING |
Nombre de la restricción. |
TABLE_CATALOG |
STRING |
Nombre del catálogo de la columna restringida. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla de la columna restringida. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla de la columna restringida. |
COLUMN_NAME |
STRING |
Nombre de la columna. |
ORDINAL_POSITION |
INT64 |
Posición ordinal de la columna en la clave de la restricción.
El valor inicial es 1 . |
POSITION_IN_UNIQUE_CONSTRAINT |
INT64 |
En el caso de los FOREIGN KEY s, la posición ordinal de la columna en la restricción única, empezando por el valor 1 . Esta columna es nula para otros tipos de restricciones. |
CONSTRAINT_COLUMN_USAGE
Esta tabla contiene una fila sobre cada columna usada por una restricción. Incluye las columnas PRIMARY KEY
y UNIQUE
, así como las columnas a las que se hace referencia en las FOREIGN KEY
restricciones.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
Nombre del catálogo de la tabla de columnas. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
El nombre del esquema de la tabla de la columna. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla de la columna. |
COLUMN_NAME |
STRING |
Nombre de la columna que usa la restricción. |
CONSTRAINT_CATALOG |
STRING |
Nombre del catálogo de la restricción. Siempre una cadena vacía. |
CONSTRAINT_SCHEMA |
STRING |
Nombre del esquema de la restricción. Una cadena vacía si no tiene nombre. |
CONSTRAINT_NAME |
STRING |
Nombre de la restricción. |
TABLE_SYNONYMS
En esta tabla se muestra información sobre los sinónimos de la tabla.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
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. |
INDEXES
En esta tabla filtrada por filas se muestran los índices de la base de datos. Las entidades de seguridad con 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 índices que cumplan alguno de los siguientes requisitos:
- Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede a nivel de columna en todas las columnas del índice al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Cualquiera de los privilegios de control de acceso detallado
SELECT
,INSERT
,UPDATE
oDELETE
se concede en la tabla que tiene el índice del rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla de índice. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla. |
INDEX_NAME |
STRING |
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 principal. |
INDEX_TYPE |
STRING |
El tipo de índice. El tipo es INDEX o PRIMARY_KEY . |
PARENT_TABLE_NAME |
STRING |
Los índices secundarios se pueden intercalar en una tabla principal, tal como se explica en el artículo sobre creación de 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 |
BOOL |
Indica si las claves de índice deben ser únicas. |
IS_NULL_FILTERED |
BOOL |
Indica si el índice incluye entradas con valores NULL . |
INDEX_STATE |
STRING |
El estado actual del índice. Estos son los valores posibles y los estados que representan:
|
SPANNER_IS_MANAGED |
BOOL |
TRUE si Spanner gestiona el índice. De lo contrario, FALSE . Spanner gestiona los índices de reserva secundarios de las claves externas. |
INDEX_COLUMNS
En esta tabla filtrada por filas se muestran las columnas de un índice. Las entidades de seguridad con 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 índices que cumplan alguno de los siguientes requisitos:
- Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede a nivel de columna en todas las columnas del índice al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede en la tabla que tiene un índice al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla de índice. El nombre está vacío en el esquema predeterminado y contiene un valor en otros esquemas. Esta columna siempre contiene un valor. |
TABLE_NAME |
STRING |
Nombre de la tabla. |
INDEX_NAME |
STRING |
Nombre del índice. |
COLUMN_NAME |
STRING |
Nombre de la columna. |
ORDINAL_POSITION |
INT64 |
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 STORING de un índice). |
COLUMN_ORDERING |
STRING |
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 |
Cadena que indica si la columna admite valores nulos. De acuerdo con el estándar SQL, la cadena es YES o NO , no un valor booleano. |
SPANNER_TYPE |
STRING |
El tipo de datos de la columna. |
COLUMN_OPTIONS
En esta tabla filtrada por filas se muestran las opciones de columna en una tabla. Las entidades de seguridad con 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 los participantes solo pueden ver las opciones de las columnas que cumplan alguno de los siguientes requisitos:
- Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede directamente en la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
. - Cualquiera de los privilegios de control de acceso pormenorizado
SELECT
,INSERT
oUPDATE
se concede en la tabla que contiene la columna al rol de base de datos actual, a los roles de los que el rol de base de datos actual es miembro o apublic
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
TABLE_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema. El nombre está vacío en el caso del esquema predeterminado y no está vacío en el caso de otros esquemas (por ejemplo, el propio INFORMATION_SCHEMA ).
Esta columna nunca es nula. |
TABLE_NAME |
STRING |
Nombre de la tabla. |
COLUMN_NAME |
STRING |
Nombre de la columna. |
OPTION_NAME |
STRING |
Un identificador SQL que identifica de forma única la opción. Este identificador es la clave de la cláusula OPTIONS en DDL.
|
OPTION_TYPE |
STRING |
Nombre del tipo de datos del valor de esta 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 analizar el valor debe poder convertirse a OPTION_TYPE . Esta columna nunca es nula. |
SEQUENCES
En esta tabla se enumeran los metadatos de las secuencias. SEQUENCES
se filtra por filas en función de los privilegios de acceso detallados si un usuario con privilegios de acceso detallados consulta la tabla.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CATALOG |
STRING |
Nombre del catálogo que contiene la secuencia. |
SCHEMA |
STRING |
Nombre del esquema que contiene la secuencia. |
NAME |
STRING |
Nombre de la secuencia. |
DATA_TYPE |
STRING |
El tipo de los valores de la secuencia. Utiliza el tipo de datos INT64 . |
SEQUENCE_OPTIONS
Esta tabla contiene las opciones de configuración de las secuencias. SEQUENCE_OPTIONS
se filtra por filas en función de los privilegios de acceso detallado si un usuario con
privilegios de acceso detallado la consulta.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CATALOG |
STRING |
Nombre del catálogo que contiene la secuencia. |
SCHEMA |
STRING |
Nombre del esquema que contiene la secuencia. |
NAME |
STRING |
Nombre de la secuencia. |
OPTION_NAME |
STRING |
Nombre de la opción de secuencia. |
OPTION_TYPE |
STRING |
Nombre del tipo de datos del valor de esta opción. |
OPTION_VALUE |
STRING |
Valor de la opción de secuencia. La expresión que
se obtiene al analizar el valor debe permitir la conversión a
OPTION_TYPE . |
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 |
Nombre del catálogo. Siempre una cadena vacía. |
SCHEMA_NAME |
STRING |
Nombre del esquema. El nombre está vacío en el caso del esquema predeterminado y no está vacío en el caso de otros esquemas (por ejemplo, el propio INFORMATION_SCHEMA ).
Esta columna nunca es nula. |
PACKAGE_NAME |
STRING |
Nombre del paquete de estadísticas. |
ALLOW_GC |
BOOL |
FALSE si el paquete de estadísticas está exento de la recogida de elementos no utilizados; de lo contrario, TRUE .
Este atributo debe tener el valor FALSE para hacer referencia al paquete de estadísticas en una sugerencia o a través de la API de cliente.
|
VIEWS
En esta tabla filtrada por filas se muestran las vistas de la base de datos. Las entidades de seguridad con 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 vistas en las que se ha concedido el privilegio de SELECT
control de acceso pormenorizadopublic
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 |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema. Una cadena vacía si no tiene nombre. |
TABLE_NAME |
STRING |
Nombre de la vista. |
VIEW_DEFINITION |
STRING |
El texto SQL de la consulta que define la vista. |
SECURITY_TYPE |
STRING |
El tipo de seguridad de la vista. Puede ser INVOKER o DEFINER .
Para obtener más información, consulta Acerca de las visualizaciones. |
ROLES
En esta tabla filtrada por filas se muestran los roles de base de datos definidos para el control de acceso pormenorizado, incluidos los roles del sistema. Las entidades de seguridad con 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 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 por herencia.
Nombre de la columna | Tipo | Descripción |
---|---|---|
ROLE_NAME |
STRING |
Nombre del rol de la base de datos. |
IS_SYSTEM |
BOOL |
TRUE si el rol de la base de datos es un rol del sistema;
FALSE en caso contrario. |
ROLE_GRANTEES
En esta tabla filtrada por filas se enumeran todas las pertenencias a roles concedidas explícitamente a todos los roles de base de datos. Las entidades de seguridad con 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. Todos los demás participantes solo pueden ver las pertenencias a roles concedidas 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 |
---|---|---|
ROLE_NAME |
STRING |
Nombre del rol de base de datos al que se concede esta pertenencia. |
GRANTEE |
STRING |
Nombre del rol de base de datos al que se concede esta pertenencia. |
CHANGE_STREAMS
En esta tabla filtrada por filas se enumeran 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 con 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 |
STRING |
Nombre del catálogo del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_SCHEMA |
STRING |
Nombre del esquema de este flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_NAME |
STRING |
Nombre del flujo de cambios. |
ALL |
BOOL |
TRUE si este flujo de cambios monitoriza toda la base de datos.
FALSE si este flujo de cambios monitoriza tablas o columnas específicas. |
CHANGE_STREAM_TABLES
Esta tabla 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 con 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 |
STRING |
Nombre del catálogo del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_SCHEMA |
STRING |
Nombre del esquema del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_NAME |
STRING |
Nombre del flujo de cambios al que hace referencia esta fila. |
TABLE_CATALOG |
STRING |
Nombre del catálogo de la tabla. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla. Siempre una cadena vacía. |
TABLE_NAME |
STRING |
Nombre de la tabla a la que hace referencia esta fila. |
ALL_COLUMNS |
BOOL |
TRUE si el flujo de cambios de esta fila monitoriza la totalidad de la tabla a la que hace referencia. De lo contrario, FALSE . |
CHANGE_STREAM_COLUMNS
Esta tabla 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 de seguridad con 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
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
Nombre del catálogo del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_SCHEMA |
STRING |
Nombre del esquema del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_NAME |
STRING |
Nombre del flujo de cambios. |
TABLE_CATALOG |
STRING |
Nombre del catálogo de la tabla. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
Nombre del esquema de la tabla. Siempre una cadena vacía. |
TABLE_NAME |
STRING |
Nombre de la tabla a la que hace referencia esta fila. |
COLUMN_NAME |
STRING |
Nombre de la columna a la que hace referencia esta fila. |
CHANGE_STREAM_OPTIONS
Esta tabla filtrada por filas contiene las opciones de configuración de los flujos de cambios.
Las entidades de seguridad con 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 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 |
STRING |
Nombre del catálogo del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_SCHEMA |
STRING |
Nombre del esquema del flujo de cambios. Siempre una cadena vacía. |
CHANGE_STREAM_NAME |
STRING |
Nombre del flujo de cambios. |
OPTION_NAME |
STRING |
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 |
Valor de la opción de flujo de cambios. |
CHANGE_STREAM_PRIVILEGES
En esta tabla filtrada por filas se enumeran 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 de seguridad con 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 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 |
---|---|---|
CHANGE_STREAM_CATALOG
|
STRING
|
El nombre del catálogo que contiene el flujo de cambios (una cadena vacía). |
CHANGE_STREAM_SCHEMA
|
STRING
|
El nombre del esquema que contiene el flujo de cambios (una cadena vacía). |
CHANGE_STREAM_NAME
|
STRING
|
Nombre del flujo de cambios. |
PRIVILEGE_TYPE
|
STRING
|
SELECT (el único privilegio permitido para los flujos de cambios).
|
GRANTEE
|
STRING
|
Nombre del rol de base de datos al que se concede este privilegio. |
ROUTINES
En esta tabla filtrada por filas se enumeran todas las funciones de lectura de flujos de cambios de una base de datos.
Las entidades de seguridad con 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 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 |
STRING |
Nombre del catálogo de la rutina. Siempre una cadena vacía. |
SPECIFIC_SCHEMA |
STRING |
El nombre del esquema de la rutina. Siempre una cadena vacía. |
SPECIFIC_NAME |
STRING |
El nombre de la rutina. Identifica de forma única la rutina, aunque su nombre esté sobrecargado. |
ROUTINE_CATALOG |
STRING |
Nombre del catálogo de la rutina. Siempre una cadena vacía. |
ROUTINE_SCHEMA |
STRING |
El nombre del esquema de la rutina. Siempre una cadena vacía. |
ROUTINE_NAME |
STRING |
El nombre de la rutina. (Puede duplicarse en caso de sobrecarga). |
ROUTINE_TYPE |
STRING |
El tipo de rutina (FUNCTION o PROCEDURE ). Siempre FUNCTION |
DATA_TYPE |
STRING |
El tipo de datos que devuelve la rutina |
ROUTINE_BODY |
STRING |
El tipo del cuerpo de la rutina (SQL o EXTERNAL ). |
ROUTINE_DEFINITION |
STRING |
Definición de ROUTINE_BODY . |
SECURITY_TYPE |
STRING |
El tipo de seguridad de la rutina. Siempre INVOKER . |
ROUTINE_OPTIONS
Esta tabla filtrada por filas contiene una fila por cada opción de cada función de lectura de flujo de cambios definida.
Las entidades de seguridad con 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 opciones de las funciones de lectura de flujo de cambios en las que se ha concedido el privilegio de EXECUTE
control 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
|
STRING
|
Nombre del catálogo de la rutina. Siempre una cadena vacía. |
SPECIFIC_SCHEMA
|
STRING
|
El nombre del esquema de la rutina. Siempre una cadena vacía. |
SPECIFIC_NAME
|
STRING
|
El nombre de la rutina. Identifica de forma exclusiva la rutina en caso de sobrecarga de nombres. |
OPTION_NAME
|
STRING
|
Un identificador SQL que identifica de forma única la opción. |
OPTION_TYPE
|
STRING
|
El tipo de datos de OPTION_VALUE .
|
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. |
PARAMETERS
En esta tabla filtrada por filas se definen los argumentos de cada función de lectura de flujo de cambios. Cada fila describe un argumento de una función de lectura de flujo de cambios.
Las entidades de seguridad con 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 parámetros de las funciones de lectura de la secuencia de cambios en las que se haya concedido el privilegio de EXECUTE
control 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 |
STRING |
Nombre del catálogo de la rutina. Siempre una cadena vacía. |
SPECIFIC_SCHEMA |
STRING |
El nombre del esquema de la rutina. Siempre una cadena vacía. |
SPECIFIC_NAME |
STRING |
El nombre de la rutina. Identifica de forma exclusiva la rutina en caso de sobrecarga de nombres. |
ORDINAL_POSITION |
INT64 |
La posición ordinal del parámetro en la rutina, empezando por el valor 1. |
PARAMETER_NAME |
STRING |
El nombre del parámetro. |
DATA_TYPE |
STRING |
El tipo de datos del parámetro. |
PARAMETER_DEFAULT |
STRING |
El valor predeterminado del parámetro o NULL para los parámetros que no tienen un valor predeterminado. |
ROUTINE_PRIVILEGES
En esta tabla 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 de seguridad con 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 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 sea miembro o a public
.
Nombre de la columna | Tipo | Descripción |
---|---|---|
SPECIFIC_CATALOG |
STRING |
Nombre del catálogo de la rutina. Siempre una cadena vacía. |
SPECIFIC_SCHEMA |
STRING |
El nombre del esquema de la rutina. Siempre una cadena vacía. |
SPECIFIC_NAME |
STRING |
El nombre de la rutina. Identifica de forma exclusiva la rutina en caso de sobrecarga de nombres. |
PRIVILEGE_TYPE |
STRING |
Siempre EXECUTE .
|
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
ROLE_TABLE_GRANTS
En esta tabla 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 de seguridad con 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 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 |
STRING |
No se usa. Siempre NULL . |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_NAME |
STRING |
Nombre de la tabla o de la vista. |
PRIVILEGE_TYPE |
STRING |
Tipo de privilegio (SELECT , INSERT , UPDATE o DELETE ). |
IS_GRANTABLE |
STRING |
No se usa. Siempre NO . |
ROLE_COLUMN_GRANTS
En esta tabla filtrada por filas se enumeran todos los privilegios de control de acceso pormenorizado concedidos en todas las columnas a cualquier rol de base de datos, incluido public
. Las entidades de seguridad con 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 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 |
STRING |
No se usa. Siempre NULL . |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
TABLE_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_SCHEMA |
STRING |
No se usa. Siempre una cadena vacía. |
TABLE_NAME |
STRING |
Nombre de la tabla o de la vista que contiene la columna. |
COLUMN_NAME |
STRING |
Nombre de la columna en la que se concede el privilegio. |
PRIVILEGE_TYPE |
STRING |
Tipo de privilegio (SELECT ,
INSERT o UPDATE ). |
IS_GRANTABLE |
STRING |
No se usa. Siempre NO . |
ROLE_CHANGE_STREAM_GRANTS
En esta tabla filtrada por filas se muestran los privilegios SELECT
concedidos en todos los flujos de cambios a cualquier rol de base de datos, incluido public
. Las entidades de seguridad con 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 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 |
---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
CHANGE_STREAM_SCHEMA |
STRING |
Nombre del esquema que contiene el flujo de cambios. |
CHANGE_STREAM_NAME |
STRING |
Nombre del flujo de cambios. |
PRIVILEGE_TYPE |
STRING |
Tipo de privilegio (solo SELECT ). |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
ROLE_MODEL_GRANTS
En esta tabla filtrada por filas se enumeran todos los privilegios de control de acceso pormenorizado concedidos en todos los modelos a cualquier rol de base de datos, incluido public
. Las entidades de seguridad con 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 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 |
STRING |
No se usa. Siempre NULL . |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
MODEL_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
MODEL_SCHEMA |
STRING |
No se usa. Siempre una cadena vacía. |
MODEL_NAME |
STRING |
El nombre del modelo. |
PRIVILEGE_TYPE |
STRING |
Tipo de privilegio (EXECUTE ). |
IS_GRANTABLE |
STRING |
No se usa. Siempre NO . |
ROLE_ROUTINE_GRANTS
En esta tabla filtrada por filas se enumeran los privilegios de EXECUTE
concedidos en todas las funciones de lectura de secuencias de cambios a cualquier rol de base de datos, incluido public
. Las entidades de seguridad con 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 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
|
STRING
|
No se usa. Siempre NULL . |
GRANTEE
|
STRING
|
Nombre del rol al que se concede el privilegio. |
SPECIFIC_CATALOG
|
STRING
|
Nombre del catálogo de rutinas. |
SPECIFIC_SCHEMA
|
STRING
|
Nombre del esquema de rutina. |
SPECIFIC_NAME
|
STRING
|
El nombre de la rutina. Identifica de forma exclusiva la rutina en caso de sobrecarga de nombres. |
PRIVILEGE_TYPE
|
STRING
|
El tipo de privilegio concedido. Siempre EXECUTE . |
IS_GRANTABLE
|
STRING
|
No se usa. Siempre NO . |
MODELS
En esta tabla se muestran todos los modelos de una base de datos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
MODEL_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
MODEL_SCHEMA |
STRING |
El nombre del esquema de este modelo. Siempre una cadena vacía. |
MODEL_NAME |
STRING |
El nombre del modelo. |
IS_REMOTE |
BOOL |
TRUE si se trata de un modelo remoto. FALSE si se trata de un modelo gestionado. |
MODEL_OPTIONS
Esta tabla contiene las opciones de configuración de los modelos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
MODEL_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
MODEL_SCHEMA |
STRING |
El nombre del esquema de este modelo. Siempre una cadena 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 del modelo. |
OPTION_VALUE |
STRING |
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 |
Nombre del catálogo. Siempre una cadena vacía. |
MODEL_SCHEMA |
STRING |
El nombre del esquema de este modelo. Siempre una cadena vacía. |
MODEL_NAME |
STRING |
El nombre del modelo. |
COLUMN_KIND |
STRING |
Tipo de columna de modelo. Una de las siguientes opciones: "INPUT" o "OUTPUT" . |
COLUMN_NAME |
STRING |
Nombre de la columna. |
DATA_TYPE |
STRING |
El tipo de datos SQL estándar de la columna. |
ORDINAL_POSITION |
INT64 |
Posición ordinal de la columna, empezando por el valor 1, para conservar el orden de las columnas declaradas. |
IS_EXPLICIT |
BOOL |
TRUE si la columna se ha especificado explícitamente en el DDL.
FALSE si la columna se ha descubierto en el endpoint. |
MODEL_COLUMN_OPTIONS
Esta tabla contiene las opciones de configuración de las columnas de modelo.
Nombre de la columna | Tipo | Descripción |
---|---|---|
MODEL_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
MODEL_SCHEMA |
STRING |
El nombre del esquema de este modelo. Siempre una cadena vacía. |
MODEL_NAME |
STRING |
El nombre del modelo. |
COLUMN_KIND |
STRING |
Tipo de columna de modelo. Una de las siguientes opciones: "INPUT" o "OUTPUT" . |
COLUMN_NAME |
STRING |
Nombre de la columna. |
OPTION_NAME |
STRING |
El nombre de la opción de columna de modelo. |
OPTION_TYPE |
STRING |
El tipo de datos de la opción de columna del modelo. |
OPTION_VALUE |
STRING |
Valor de la opción de columna de modelo. |
MODEL_PRIVILEGES
En esta tabla, que se ha filtrado por filas, se muestran todos los privilegios concedidos a nivel de modelo a los roles de base de datos, incluido public
.
Las entidades de seguridad con 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 privilegios de los modelos en los que se haya concedido el privilegio de EXECUTE
control de acceso granular 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 |
---|---|---|
MODEL_CATALOG |
STRING |
No se usa. Siempre una cadena vacía. |
MODEL_SCHEMA |
STRING |
No se usa. Siempre una cadena vacía. |
MODEL_NAME |
STRING |
Nombre del modelo en el que se conceden privilegios de control de acceso pormenorizado. |
PRIVILEGE_TYPE |
STRING |
EXECUTE > |
GRANTEE |
STRING |
Nombre del rol de la base de datos al que se concede este privilegio. |
PROPERTY_GRAPHS
En esta tabla filtrada por filas se muestran los gráficos de propiedades de la base de datos. Las entidades con 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 los principales solo pueden ver los gráficos de propiedades si cumplen los requisitos para ver todas las tablas que se usan para definir esos gráficos.
Nombre de la columna | Tipo | Descripción |
---|---|---|
PROPERTY_GRAPH_CATALOG |
STRING |
Nombre del catálogo. Siempre una cadena vacía. |
PROPERTY_GRAPH_SCHEMA |
STRING |
Nombre del esquema. Una cadena vacía si no tiene nombre. |
PROPERTY_GRAPH_NAME |
STRING |
Nombre del gráfico de propiedades. |
PROPERTY_GRAPH_METADATA_JSON |
JSON |
La definición del gráfico de propiedades en formato JSON. |
La columna PROPERTY_GRAPH_METADATA_JSON
contiene un objeto JSON PropertyGraph
definido de la siguiente manera:
Nombre del objeto JSON | Nombre del campo | Tipo JSON | Descripción |
---|---|---|---|
PropertyGraph |
catalog |
string |
Nombre del catálogo. Siempre una cadena vacía. |
schema |
string |
Nombre del esquema. Una cadena vacía si no tiene nombre. | |
name |
string |
Nombre del gráfico de propiedades. | |
nodeTables |
array<object> |
Lista de objetos GraphElementTable de los nodos. |
|
edgeTables |
array<object> |
Lista de objetos GraphElementTable para los bordes. |
|
labels |
array<object> |
Lista de objetos GraphElementLabel . |
|
propertyDeclarations |
array<object> |
Lista de objetos GraphPropertyDeclaration . |
|
GraphElementTable |
name |
string |
Nombre de la tabla de elementos del gráfico. |
kind |
string |
Puede ser NODE o EDGE . |
|
baseCatalogName |
string |
Nombre del catálogo que contiene la tabla base. | |
baseSchemaName |
string |
Nombre del esquema que contiene la tabla base. | |
baseTableName |
string |
Nombre de la tabla de entrada a partir de la que se crean los elementos. | |
keyColumns |
array<string> |
Los nombres de las columnas que constituyen la clave del elemento. | |
labelNames |
array<string> |
Nombres de las etiquetas asociadas a esta tabla de elementos. | |
propertyDefinitions |
array<object> |
Lista de objetos GraphPropertyDefinition . |
|
dynamicLabelExpr |
string |
Nombre de la columna que contiene la definición de
DYNAMIC LABEL . |
|
dynamicPropertyExpr |
string |
Nombre de la columna que contiene la definición de
DYNAMIC PROPERTIES . |
|
sourceNodeTable |
object |
Objeto GraphNodeTableReference . Solo existe cuando kind es EDGE . |
|
destinationNodeTable |
object |
Objeto GraphNodeTableReference . Solo existe cuando kind es EDGE . |
|
GraphNodeTableReference |
nodeTableName |
string |
Nombre de la tabla de elementos del gráfico. |
edgeTableColumns |
array<string> |
Nombre de las columnas asociadas a las claves de origen y destino de las aristas. | |
nodeTableColumns |
array<string> |
Nombre de las columnas asociadas a las claves de origen y destino de los nodos. | |
GraphElementLabel |
name |
string |
El nombre de la etiqueta. |
propertyDeclarationNames |
array<string> |
Nombres de las propiedades asociadas a esta etiqueta. | |
GraphPropertyDeclaration |
name |
string |
Nombre de la propiedad. |
type |
string |
El tipo de propiedad. | |
GraphPropertyDefinition |
propertyDeclarationName |
string |
Nombre de la propiedad. |
valueExpressionSql |
string |
Expresión que define la propiedad. |
Ejemplos
Devuelve información sobre cada tabla del esquema del usuario:
SELECT
t.table_schema,
t.table_name,
t.parent_table_name
FROM
information_schema.tables AS t
WHERE
t.table_catalog = ''
AND
t.table_schema NOT IN ('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 de INFORMATION_SCHEMA:
SELECT
t.table_name
FROM
information_schema.tables AS t
WHERE
t.table_schema = "SPANNER_SYS"
Devuelve información sobre las columnas de la tabla de usuarios MyTable
del esquema predeterminado:
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
Devuelve información sobre la región líder predeterminada de la base de datos. Devuelve un valor vacío si no se ha definido la región líder predeterminada:
SELECT
s.option_name,
s.option_value
FROM
information_schema.database_options s
WHERE
s.option_name = 'default_leader'
Devuelve información sobre cada índice del esquema del usuario:
SELECT
t.table_schema,
t.table_name,
t.index_name,
t.parent_table_name
FROM
information_schema.indexes AS t
WHERE
t.table_catalog = ''
AND
t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
AND
t.index_type != 'PRIMARY_KEY'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name,
t.index_name
Devuelve todas las columnas que usan opciones distintas a las predeterminadas:
SELECT
t.table_schema,
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 NOT IN ('information_schema', 'SPANNER_SYS')
Devuelve las opciones de base de datos relacionadas con el optimizador actual:
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')
Devuelve todos los paquetes de estadísticas disponibles:
SELECT
*
FROM
information_schema.spanner_statistics;
Devuelve todas las secuencias:
SELECT
*
FROM
information_schema.sequences;
Devuelve todas las opciones de secuencia de la secuencia llamada "MySequence".
SELECT
*
FROM
information_schema.sequence_options WHERE name="MySequence";
Devuelve los nombres de todos los gráficos de propiedades y sus definiciones:
SELECT
property_graph_name,
property_graph_metadata_json
FROM
information_schema.property_graphs
Devuelve los nombres de todos los gráficos de propiedades junto con sus etiquetas y propiedades:
SELECT
property_graph_name,
property_graph_metadata_json.labels,
property_graph_metadata_json.propertyDeclarations
FROM
information_schema.property_graphs
Siguientes pasos
- Consulta las herramientas de introspección disponibles para investigar problemas de bases de datos.