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 Distribución de datos para la optimización de consultas.
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 | Marca de tiempo | Hora en UTC en que se creó la tabla. |
releffectivediststyle | integer | 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 relid 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)