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

El esquema de información es un esquema integrado que es común a todas las bases de datos de PostgreSQL. Puedes ejecutar consultas de SQL en tablas en el information_schema a fin de recuperar metadatos de esquema para una base de datos.

Por ejemplo, la siguiente consulta recupera los nombres de todas las tablas definidas por el usuario en una base de datos:

  SELECT
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema = 'public'

Uso

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

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

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

Diferencias de information_schema para PostgreSQL

Las tablas de information_schema para las bases de datos de dialecto de PostgreSQL incluyen columnas de las tablas de information_schema para PostgreSQL de código abierto y, en algunos casos, también incluyen columnas de Cloud Spanner. En estas tablas, las columnas de PostgreSQL de código abierto van primero y en el mismo orden que en una base de datos PostgreSQL, y luego se agregan las distintas columnas de Cloud Spanner. Las consultas escritas para la versión information_schema de PostgreSQL de código abierto deberían funcionar sin modificaciones cuando se usen bases de datos de dialecto de PostgreSQL en Google Cloud CLI.

Estas son otras diferencias notables en information_schema de las bases de datos de dialecto de PostgreSQL:

  • Algunas de las columnas de la tabla para PostgreSQL de código abierto están disponibles, pero no se propagan en las bases de datos de dialecto de PostgreSQL.
  • Las bases de datos de dialecto de PostgreSQL usan public para el nombre del esquema.
  • Los nombres de restricciones generados automáticamente usan un formato diferente al de las bases de datos de PostgreSQL de código abierto.
  • Las tablas relacionadas con las funciones de código abierto de PostgreSQL que no son compatibles con las bases de datos de dialecto de PostgreSQL no están disponibles.
  • Algunas tablas que están disponibles con Cloud Spanner, pero no con PostgreSQL de código abierto, como database_options, index_columns, indexes y spanner_statistics están disponibles.

Tablas en information_schema para bases de datos de PostgreSQL en dialectos

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

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

check_constraints

La vista check_constraints contiene una fila para cada restricción de verificación definida por las palabras clave CHECK o NOT NULL.

Nombre de la columna Tipo Descripción
constraint_catalog character varying Es el nombre de la base de datos.
constraint_schema character varying El nombre del esquema de la restricción. El valor predeterminado es “público” para las bases de datos de dialecto de PostgreSQL.
constraint_name character varying El nombre de la restricción. Si el nombre de la restricción no se especifica de forma explícita en el esquema, se usa el nombre generado automáticamente.
check_clause character varying La expresión de restricción de verificación.
spanner_state character varying El estado actual de la restricción de verificación. Los estados posibles son los siguientes:
  • VALIDATING: La base de datos de dialecto de PostgreSQL está validando los datos existentes para un comando “ALTER CONSTRAINT” o “ADD CONSTRAINT”.
  • COMMITTED: No hay un cambio de esquema activo para esta restricción.

column_column_usage

Esta vista enumera todas las columnas generadas que dependen de otra columna base en la misma tabla.

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying 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, para information_schema). Esta columna nunca es NULL.
table_name character varying El nombre de la tabla que contiene las columnas generadas.
column_name character varying El nombre de la columna base de la que se genera la columna generada.
dependent_column character varying El nombre de la columna generada.

column_options

En esta vista, se enumeran todas las opciones definidas para las columnas de la tabla a las que se hace referencia en una restricción de clave externa. La vista solo contiene aquellas columnas de la tabla de referencia a las que tiene acceso el usuario actual (por ser el propietario o los privilegios otorgados).

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El 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, para information_schema). Esta columna nunca es nula.
table_name character varying Es el nombre de la tabla externa.
column_name character varying Es el nombre de la columna
option_name character varying Un identificador de SQL que identifica la opción de forma única. Este identificador es la clave de la cláusula OPTIONS en DDL.
option_value character varying Un literal de SQL que describe el valor de esta opción. El valor de esta columna se puede analizar como parte de una consulta.
option_type character varying Es un nombre de tipo de datos que es el tipo de este valor de opción.

columns

Esta vista proporciona información sobre todas las columnas de la tabla (o columnas de vistas) de la base de datos. La vista solo contiene aquellas columnas a las que tiene acceso el usuario actual (por ser el propietario o los privilegios a los que se le otorgó).

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla. El nombre es"public"para el esquema predeterminado y no está vacío para otros esquemas (por ejemplo, para information_schema). Esta columna nunca es nula.
table_name character varying El nombre de la tabla
column_name character varying El nombre de la columna
ordinal_position BIGINT La posición ordinal de la columna en la tabla, que comienza con un valor de 1
column_default character varying Una representación de string de la expresión de PostgreSQL de código abierto del valor predeterminado de la columna, por ejemplo, '9'::bigint
is_nullable character varying Es una string que indica si la columna acepta el valor NULL. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano.
data_type character varying El tipo de datos de la columna. El valor es uno de los siguientes:
  • Para los tipos integrados, el nombre del tipo de datos.
  • Para los arreglos, el valor ARRAY. Para obtener más información sobre el tipo de datos, consulta la vista `element_types`.
character_maximum_length BIGINT La longitud máxima declarada de los tipos de datos de string de caracteres y bits. Si no se especificó una longitud máxima, el valor es “NULL”. Si el tipo de datos de la columna no es un carácter o una string de bits, el valor es “NULL”.
character_octet_length BIGINT No se utiliza actualmente. El valor es siempre "NULL".
numeric_precision BIGINT La precisión del tipo de datos numéricos de la columna actual Para "precisión doble", el valor es 53. Para “bigint”, el valor es 64. Para todos los demás tipos de datos, el valor es "NULL".
numeric_precision_radix BIGINT Base (unit) de la precisión para tipos numéricos. Actualmente, solo se admiten dos valores:
  • 2 para “precisión doble”, “float8” y “bigint”
  • 10 para “numérico”
Para todos los demás tipos de datos, el valor es “NULL”.
numeric_scale BIGINT Contiene la escala del tipo de columna numérica, que es la cantidad de unidades base de precisión después del punto de radix. Para “bigint”, el valor es 0. Para todos los demás tipos de datos, el valor es "NULL".
datetime_precision BIGINT No se utiliza actualmente. El valor es siempre "NULL".
interval_type character varying No se utiliza actualmente. El valor es siempre "NULL".
interval_precision BIGINT No se utiliza actualmente. El valor es siempre "NULL".
character_set_catalog character varying No se utiliza actualmente. El valor es siempre "NULL".
character_set_schema character varying No se utiliza actualmente. El valor es siempre "NULL".
character_set_name character varying No se utiliza actualmente. El valor es siempre "NULL".
collation_catalog character varying No se utiliza actualmente. El valor es siempre "NULL".
collation_schema character varying No se utiliza actualmente. El valor es siempre "NULL".
collation_name character varying No se utiliza actualmente. El valor es siempre "NULL".
domain_catalog character varying No se utiliza actualmente. El valor es siempre "NULL".
domain_schema character varying No se utiliza actualmente. El valor es siempre "NULL".
domain_name character varying No se utiliza actualmente. El valor es siempre "NULL".
udt_catalog character varying No se utiliza actualmente. El valor es siempre "NULL".
udt_schema character varying No se utiliza actualmente. El valor es siempre "NULL".
udt_name character varying No se utiliza actualmente. El valor es siempre "NULL".
scope_catalog character varying No se utiliza actualmente. El valor es siempre "NULL".
scope_schema character varying No se utiliza actualmente. El valor es siempre "NULL".
scope_name character varying No se utiliza actualmente. El valor es siempre "NULL".
maximum_cardinality BIGINT No se utiliza actualmente. El valor es siempre "NULL".
dtd_identifier character varying No se utiliza actualmente. El valor es siempre "NULL".
is_self_referencing character varying No se utiliza actualmente. El valor es siempre "NULL".
is_identity character varying No se utiliza actualmente. El valor es siempre "NULL".
identity_generation character varying No se utiliza actualmente. El valor es siempre "NULL".
identity_start character varying No se utiliza actualmente. El valor es siempre "NULL".
identity_increment character varying No se utiliza actualmente. El valor es siempre "NULL".
identity_maximum character varying No se utiliza actualmente. El valor es siempre "NULL".
identity_minimum character varying No se utiliza actualmente. El valor es siempre "NULL".
identity_cycle character varying No se utiliza actualmente. El valor es siempre "NULL".
is_generated character varying Es una string que indica si la columna se genera. La string es ALWAYS para una columna generada o NEVER para una columna no generada.
generation_expression character varying Una string 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 utiliza actualmente. El valor es siempre "NULL".
spanner_type character varying Una string que contiene el tipo de columna compatible con DDL.
is_stored character varying Una string que indica si se almacena la columna generada. La string siempre es YES o NO para las columnas generadas, y NULL para las columnas no generadas.
spanner_state character varying El estado actual de la columna. Una nueva columna generada almacenada que se agrega a una tabla existente puede pasar por varios estados que el usuario puede observar antes de que se pueda usar por completo. Los valores posibles son los siguientes:
  • NO_WRITE: No se permite la lectura ni la escritura en las columnas. Una columna generada almacenada en este estado no causa ningún efecto de cliente.
  • WRITE_ONLY: La columna se está reabasteciendo. No se permite ninguna lectura.
  • COMMITTED: la columna es completamente utilizable.
  • NULL: Se usa para las columnas en esquemas del sistema.

constraint_column_usage

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

  • Para las restricciones PRIMARY KEY y CHECK definidas por la palabra clave NOT NULL, la vista contiene esas columnas.
  • Para las restricciones CHECK creadas con la palabra clave CHECK, la vista incluye las columnas que usa la expresión de restricción de verificación.
  • En el caso de las restricciones de claves externas, la vista contiene las columnas de la tabla a la que se hace referencia.
  • Para las restricciones UNIQUE, la vista contiene las columnas de KEY_COLUMN_USAGE.

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

constraint_table_usage

Esta vista contiene una fila para cada tabla que usa una restricción. Para las restricciones de FOREIGN KEY, la información de la tabla es para las tablas de la cláusula REFERENCES. En el caso de una restricción de clave única o primaria, esta vista simplemente identifica la tabla a la que pertenece la restricción. En esta vista, no se incluyen las restricciones de verificación y las que no son nulas.

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

database_options

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

Nombre de la columna Tipo Descripción
catalog_name character varying Es el nombre de la base de datos.
schema_name character varying Es el nombre del esquema. El valor predeterminado es “public” para las bases de datos de PostgreSQL en dialectos.
option_name character varying El nombre de la opción de base de datos. Este es el valor de “clave” en la cláusula “OPTIONS” de DDL.
option_type character varying Tipo de datos de la opción de base de datos.
option_value character varying Valor de la opción de base de datos.

index_columns

La tabla enumera las columnas de un índice.

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene el índice. El valor predeterminado es “public”.
table_name character varying El nombre de la tabla asociada con el índice.
index_name character varying Es el nombre del índice. Las tablas con una especificación “PRIMARY KEY” tienen una entrada de pseudoíndice generada con el nombre “PRIMARY_KEY”.
index_type character varying Es el tipo de índice. Los valores posibles son `PRIMARY_KEY`, `LOCAL` o `GLOBAL`.
column_name character varying Es el nombre de la columna
ordinal_position BIGINT Es la posición ordinal de la columna en el índice (o clave primaria), que comienza con un valor de 1. Este valor es NULL para las columnas sin clave (por ejemplo, las columnas especificadas en la cláusula INCLUDE de un índice).
column_ordering character varying 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 character varying 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 character varying Es una string que contiene el tipo de columna compatible con DDL.

indexes

Esta vista enumera los índices en un esquema.

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying Es el nombre del esquema. El valor predeterminado es “public”.
table_name character varying Es el nombre de la tabla.
index_name character varying Es el nombre del índice. Las tablas creadas con una cláusula PRIMARY KEY tienen una entrada de pseudoíndice generada con el nombre PRIMARY_KEY, que permite identificar los campos de la clave primaria.
index_type character varying Es el tipo de índice. Los valores incluyen PRIMARY_KEY, LOCAL o GLOBAL.
parent_table_name character varying Los índices secundarios se pueden intercalar en una tabla superior, como se explica en Cómo crear un índice secundario. Esta columna contiene el nombre de esa tabla superior o NULL si el índice no está intercalado.
is_unique character varying Se indica si las claves de índice deben ser únicas. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano.
is_null_filtered character varying Se indica si el índice incluye entradas con valores NULL. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano.
index_state character varying Es el estado actual del índice. Los valores posibles y los estados que representan son los siguientes:
  • NULL: El tipo de índice es "PRIMARY_KEY"
  • PREPARE: Crea tablas vacías para un índice nuevo
  • WRITE_ONLY: Reabastece datos para un índice nuevo.
  • WRITE_ONLY_CLEANUP: Limpia un índice nuevo
  • WRITE_ONLY_VALIDATE_UNIQUE: Verifica la unicidad de los datos en un índice nuevo.
  • READ_WRITE: operación de índice normal
spanner_is_managed character varying Si Cloud Spanner administra el índice Por ejemplo, Cloud Spanner administra los índices de copia de seguridad secundarios para claves externas. La string puede ser YES o NO, en lugar de un valor booleano, de acuerdo con el estándar de SQL.

information_schema_catalog_name

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

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

key_column_usage

Esta vista identifica todas las columnas de la base de datos actual a las que hace referencia una restricción de clave única o externa. Para obtener información sobre las columnas de restricción CHECK, consulta la vista check_constraints.

Nombre de la columna Tipo Descripción
constraint_catalog character varying Es el nombre de la base de datos.
constraint_schema character varying El nombre del esquema de la restricción. El valor predeterminado es “public”.
constraint_name character varying El nombre de la restricción.
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla que contiene la columna restringida. El valor predeterminado es “public”.
table_name character varying El nombre de la tabla que contiene la columna que está restringida por esta restricción.
column_name character varying El nombre de la columna que está restringida
ordinal_position BIGINT Es 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 BIGINT Para los FOREIGN KEY, la posición ordinal de la columna dentro de la restricción única, que comienza con un valor de 1. Esta columna tiene un valor “NULL” para otros tipos de restricciones.

referential_constraints

Esta vista contiene una fila sobre cada restricción FOREIGN KEY. Solo puedes ver las restricciones para las que tienes acceso de escritura a la tabla de referencia. En esta vista, también se identifican las restricciones PRIMARY KEY y UNIQUE en las tablas a las que se hace referencia que las claves externas usan para la aplicación de restricciones y las acciones referenciales.

Nombre de la columna Tipo Descripción
constraint_catalog character varying Es el nombre de la base de datos.
constraint_schema character varying El nombre del esquema que contiene la restricción de clave externa El valor predeterminado es “public”.
constraint_name character varying El nombre de la restricción de clave externa
unique_constraint_catalog character varying Es el nombre de la base de datos.
unique_constraint_schema character varying El nombre del esquema que contiene la restricción de clave única o principal a la que hace referencia la restricción de clave externa.
unique_constraint_name character varying El nombre de la restricción de clave única o principal 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 siempre es NO ACTION.
spanner_state character varying El estado actual de la clave externa. Cloud Spanner no comienza a aplicar la restricción hasta que se crean y se reabastecen los índices de copia de seguridad de la clave externa. Una vez que los índices están listos, Cloud Spanner comienza a aplicar la restricción a 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 claves externas se completaron con éxito o no se necesitaron, pero la clave externa aún está pendiente.
  • COMMITTED: Se confirmó el cambio de esquema.

schemata

La vista information_schema.schemata contiene una fila para cada esquema en la base de datos actual. Los esquemas incluyen el esquema de información y un esquema predeterminado llamado public.

Nombre de la columna Tipo Descripción
catalog_name character varying Es el nombre de la base de datos.
schema_name character varying Es el nombre del esquema. Esta opción se configura como “public” para el esquema predeterminado y no vacía para los esquemas con nombre.
schema_owner character varying El nombre del propietario del esquema.
default_character_set_catalog character varying No se utiliza actualmente.
default_character_set_schema character varying No se utiliza actualmente.
default_character_set_name character varying No se utiliza actualmente.
sql_path character varying No se utiliza actualmente.
effective_timestamp timestamp with timezone La marca de tiempo en la que se activaron todos los datos de este esquema. Actualmente, solo se usa para el esquema predeterminado.

spanner_statistics

En esta tabla, se enumeran los paquetes de estadísticas del optimizador de consultas disponibles.

Nombre de la columna Tipo Descripción
catalog_name character varying Es el nombre de la base de datos.
schema_name character varying Es el nombre del esquema. El valor predeterminado del esquema es “public”.
package_name character varying El nombre del paquete de estadísticas.
allow_gc character varying Indica si el paquete de estadísticas está exento de la recolección de elementos no utilizados. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano. Este atributo se debe establecer en NO para que puedas hacer referencia al paquete de estadísticas en una sugerencia o a través de la API del cliente.

table_constraints

Esta vista contiene todas las restricciones que pertenecen a las tablas a las que el usuario actual tiene acceso (que no sean SELECT).

Nombre de la columna Tipo Descripción
constraint_catalog character varying Es el nombre de la base de datos.
constraint_schema character varying El nombre del esquema que contiene la restricción
constraint_name character varying El nombre de la restricción.
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla asociada con la restricción.
table_name character varying Es el nombre de la tabla.
constraint_type character varying El tipo de restricción. Los valores posibles son los siguientes:
  • CHECK
  • FOREIGN KEY
  • PRIMARY KEY
  • UNIQUE
is_deferrable character varying El valor es siempre NO.
initially_deferred character varying El valor es siempre NO.
enforced character varying Establece si se aplica la restricción. Si se aplica una restricción (después de que alcanza cierto estado), se valida en el momento de la escritura y mediante un verificador de integridad en segundo plano. De acuerdo con el estándar de SQL, la string es YES o NO, en lugar de un valor booleano.

tables

Esta vista contiene todas las tablas y vistas de la base de datos actual.

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying El nombre del esquema que contiene la tabla o vista.
table_name character varying El nombre de la tabla o vista.
table_type character varying Indica el tipo de tabla. Entre los valores posibles, se incluyen 'BASE TABLE' y 'VER'
self_referencing_column_name character varying No se utiliza actualmente.
reference_generation character varying No se utiliza actualmente.
user_defined_type_catalog character varying No se utiliza actualmente.
user_defined_type_schema character varying No se utiliza actualmente.
user_defined_type_name character varying No se utiliza actualmente.
is_insertable_into character varying No se utiliza actualmente.
is_typed character varying No se utiliza actualmente.
commit_action character varying No se utiliza actualmente.
parent_table_name character varying El nombre de la tabla superior si esta tabla está intercalada o es NULL.
on_delete_action character varying Se establece en CASCADE o NO ACTION para las tablas intercaladas, y NULL en el caso contrario. Consulta Declaraciones de TABLE para obtener más información.
spanner_state character varying El estado de creación actual de la tabla.
Una tabla puede pasar por varios estados durante la creación, si se involucran operaciones masivas, por ejemplo, cuando la tabla se crea con una clave externa que requiere el reabastecimiento de su índice al que se hace referencia. Los posibles estados son los siguientes:
  • ADDING_FOREIGN_KEY: Agrega las claves externas de la tabla
  • WAITING_FOR_COMMIT: Finaliza el cambio de esquema
  • COMMITTED: El cambio de esquema para crear la tabla se confirmó. 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 superior y secundario entre esta tabla y la tabla en la que se intercala. Los valores posibles son los siguientes:
  • IN: una tabla de “INTERLEAVE IN” sin relación de superior y secundario Una fila de esta tabla puede existir independientemente de que exista su fila superior.
  • IN PARENT: una tabla “INTERLEAVE IN PARENT” con una relación de superior y secundaria. Una fila de esta tabla requiere la existencia de su fila superior.
row_deletion_policy_expression character varying Una string que contiene el texto de expresión que define el elemento ROW DELETION POLICY.

views

Esta vista enumera información sobre las vistas en un esquema.

Nombre de la columna Tipo Descripción
table_catalog character varying Es el nombre de la base de datos.
table_schema character varying Es el nombre del esquema. El valor predeterminado es “public”.
table_name character varying El nombre de la vista.
view_definition character varying El texto SQL de la consulta que define la vista.
check_option character varying No se utiliza actualmente.
is_updatable character varying No se utiliza actualmente.
is_insertable_into character varying No se utiliza actualmente.
is_trigger_updatable character varying No se utiliza actualmente.
is_trigger_deletable character varying No se utiliza actualmente.
is_trigger_insertable_into character varying No se utiliza actualmente.

Examples

Muestra información sobre cada tabla en el esquema predeterminado:

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

Muestra el nombre de todas las tablas y vistas en information_schema para las bases de datos de PostgreSQL de dialectos:

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

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

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

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

SELECT
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_schema = 'public'
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_schema,
  t.table_name,
  t.index_name

Muestre todas las columnas que usan opciones distintas a la predeterminada:

SELECT
  t.table_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_name

Se muestran las opciones actuales de la base de datos relacionada con el optimizador:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name=public''
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

Mostrar todos los paquetes de estadísticas disponibles:

SELECT *
FROM information_schema.spanner_statistics;

¿Qué sigue?