PG_CLASS_INFO - Amazon Redshift

PG_CLASS_INFO

PG_CLASS_INFO é uma visualização do sistema Amazon Redshift construída nas tabelas do catálogo PostgreSQL PG_CLASS e PG_CLASS_EXTENDED. PG_CLASS_INFO inclui detalhes sobre o horário de criação da tabela e o estilo de distribuição atual. Para ter mais informações, consulte Distribuição de dados para otimização de consultas.

PG_CLASS_INFO é visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para obter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

Colunas da tabela

PG_CLASS_INFO mostra as seguintes colunas, além das colunas em PG_CLASS. A coluna oid em PG_CLASS é chamada de relid na tabela PG_CLASS_INFO.

Nome da coluna Tipo de dados Descrição
relcreationtime timestamp Horário (UTC) no qual a tabela foi criada.
releffectivediststyle inteiro O estilo de distribuição de uma tabela ou, se a tabela usa distribuição automática, o estilo de distribuição atual atribuído pelo Amazon Redshift.

A coluna RELEFFECTIVEDISTSTYLE em PG_CLASS_INFO indica o estilo de distribuição atual da tabela. Se a tabela usar distribuição automática, RELEFFECTIVEDISTSTYLE será 10, 11 ou 12, o que indica se o estilo de distribuição efetivo é AUTO (ALL) ou AUTO (EVEN) ou AUTO (KEY). Se a tabela usar distribuição automática, o estilo de distribuição poderá mostrar inicialmente AUTO (ALL) e mudar para AUTO (EVEN) quando a tabela crescer, ou AUTO (KEY) se uma coluna for útil como uma chave de distribuição.

A tabela a seguir fornece o estilo de distribuição para cada valor na coluna RELEFFECTIVEDISTSTYLE:

RELEFFECTIVEDISTSTYLE Estilo de distribuição atual
0 EVEN
1 KEY
8 ALL
10 AUTO (ALL)
11 AUTO (EVEN)
12 AUTO (KEY)

Exemplo

A consulta a seguir retorna o estilo de distribuição atual das tabelas no 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)