Consulta de las tablas de catálogos - Amazon Redshift

Consulta de las tablas de catálogos

En general, puede combinar las tablas y las vistas de catálogos (relaciones cuyos nombres comienzan con PG_) con las tablas y las vistas de Amazon Redshift.

Las tablas de catálogos utilizan una serie de tipos de datos que Amazon Redshift no admite. Los siguientes tipos de datos se admiten cuando las consultas combinan las tablas de catálogos a las tablas de Amazon Redshift:

  • bool

  • "char"

  • float4

  • int2

  • int4

  • int8

  • nombre

  • oid

  • texto

  • varchar

Si escribe una consulta combinada que explícita o implícitamente hace referencia a una columna que tiene un tipo de datos no admitidos, la consulta devuelve un error. Las funciones SQL que se utilizan en algunas de las tablas de catálogos tampoco se admiten, a excepción de aquellas utilizadas por las tablas PG_SETTINGS y PG_LOCKS.

Por ejemplo, la tabla PG_STATS no puede consultarse en una combinación con una tabla de Amazon Redshift debido a las funciones no admitidas.

Las siguientes tablas y vistas de catálogos proporcionan información útil que se puede combinar a la información de las tablas de Amazon Redshift. Algunas de estas tablas permiten solo un acceso parcial debido a las restricciones de funciones y tipo de datos. Cuando consulte las tablas parcialmente accesibles, seleccione o consulte sus columnas con precaución.

Las siguientes tablas son completamente accesibles y no contienen tipos o funciones no admitidos:

Las siguientes tablas son parcialmente accesibles y contienen algunos tipos, funciones y columnas de texto truncado no admitidos. Los valores en las columnas de textos se truncan en los valores varchar(256).

Las tablas de catálogos que no se mencionan aquí son inaccesibles o probablemente no sean de utilidad para los administradores de Amazon Redshift. Sin embargo, puede consultar cualquier tabla o vista de catálogos abiertamente si la consulta no incluye una combinación con una tabla de Amazon Redshift.

Puede utilizar las columnas OID en las tablas de catálogos Postgres como columnas de combinación. Por ejemplo, la condición de combinación pg_database.oid = stv_tbl_perm.db_id une el ID de objeto de la base de datos interna para cada fila de PG_DATABASE con la columna DB_ID visible en la tabla STV_TBL_PERM. Las columnas OID son claves primarias internas que no están visibles cuando selecciona desde la tabla. Las vistas de catálogo no tienen columnas OID.

Algunas funciones de Amazon Redshift deben ejecutarse solo en los nodos informáticos. Si una consulta hace referencia a una tabla creada por el usuario, el código SQL se ejecuta en los nodos de computación.

Una consulta que utiliza como referencia solamente tablas de catálogos (tablas con un prefijo PG, como por ejemplo PG_TABLE_DEF) o que no utiliza ninguna tabla se ejecuta únicamente en el nodo principal.

Si una consulta que utiliza una función de nodo informático no referencia una tabla definida por el usuario o una tabla del sistema de Amazon Redshift, devuelve el siguiente error.

[Amazon](500310) Invalid operation: One or more of the used functions must be applied on at least one user created table.