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)