PG_CLASS_INFO - Amazon Redshift

PG_CLASS_INFO

PG_CLASS_INFO es una vista de sistema de Amazon Redshift integrada a las tablas de catálogos de PostgreSQL PG_CLASS y PG_CLASS_EXTENDED. PG_CLASS_INFO incluye detalles sobre la hora de creación y el estilo de distribución actual de la tabla. Para obtener más información, consulte Uso de estilos de distribución de datos.

Todos los usuarios pueden ver PG_CLASS_INFO. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.

Columnas de la tabla

PG_CLASS_INFO muestra las siguientes columnas además de las columnas de PG_CLASS. La columna oid en PG_CLASS se llama relid en la tabla PG_CLASS_INFO.

Nombre de la columna Tipo de datos Descripción
relcreationtime timestamp Hora en UTC en que se creó la tabla.
releffectivediststyle entero El estilo de distribución de una tabla o, si la tabla usa distribución automática, el estilo de distribución actual asignado por Amazon Redshift.

La columna RELEFFECTIVEDISTSTYLE en PG_CLASS_INFO indica el estilo de distribución actual de la tabla. Si la tabla usa una distribución automática, RELEFFECTIVEDISTSTYLE es 10, 11 o 12, lo que indica que el estilo de distribución efectivo es AUTO (ALL) o AUTO (EVEN) o AUTO (KEY). Si la tabla usa distribución automática, el estilo de distribución podría inicialmente mostrar AUTO (ALL), para a continuación mostrar AUTO (EVEN) o AUTO (KEY) si se detecta que una columna puede resultar útil como clave de distribución.

En la siguiente tabla, se proporciona el estilo de distribución para cada valor de la tabla RELEFFECTIVEDISTSTYLE:

RELEFFECTIVEDISTSTYLE Estilo de distribución actual
0 EVEN
1 KEY
8 ALL
10 AUTO (ALL)
11 AUTO (EVEN)
12 AUTO (KEY)

Ejemplo

La siguiente consulta devuelve el estilo de distribución actual de las tablas del catálogo.

select reloid as tableid,trim(nspname) as schemaname,trim(relname) as tablename,reldiststyle,releffectivediststyle, CASE WHEN "reldiststyle" = 0 THEN 'EVEN'::text WHEN "reldiststyle" = 1 THEN 'KEY'::text WHEN "reldiststyle" = 8 THEN 'ALL'::text WHEN "releffectivediststyle" = 10 THEN 'AUTO(ALL)'::text WHEN "releffectivediststyle" = 11 THEN 'AUTO(EVEN)'::text WHEN "releffectivediststyle" = 12 THEN 'AUTO(KEY)'::text ELSE '<<UNKNOWN>>'::text END as diststyle,relcreationtime from pg_class_info a left join pg_namespace b on a.relnamespace=b.oid;
tableid | schemaname | tablename | reldiststyle | releffectivediststyle | diststyle | relcreationtime ---------+------------+-----------+--------------+-----------------------+------------+---------------------------- 3638033 | public | customer | 0 | 0 | EVEN | 2019-06-13 15:02:50.666718 3638037 | public | sales | 1 | 1 | KEY | 2019-06-13 15:03:29.595007 3638035 | public | lineitem | 8 | 8 | ALL | 2019-06-13 15:03:01.378538 3638039 | public | product | 9 | 10 | AUTO(ALL) | 2019-06-13 15:03:42.691611 3638041 | public | shipping | 9 | 11 | AUTO(EVEN) | 2019-06-13 15:03:53.69192 3638043 | public | support | 9 | 12 | AUTO(KEY) | 2019-06-13 15:03:59.120695 (6 rows)