Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Exemplos de CTAS - Amazon Redshift

Exemplos de CTAS

O exemplo a seguir cria uma tabela denominada EVENT_BACKUP para a tabela EVENT:

create table event_backup as select * from event;

A tabela resultante herda as chaves de distribuição e de classificação da tabela EVENT.

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'event_backup'; column | type | encoding | distkey | sortkey ----------+-----------------------------+----------+---------+-------- catid | smallint | none | false | 0 dateid | smallint | none | false | 1 eventid | integer | none | true | 0 eventname | character varying(200) | none | false | 0 starttime | timestamp without time zone | none | false | 0 venueid | smallint | none | false | 0

O comando a seguir cria uma nova tabela denominada EVENTDISTSORT selecionando quatro colunas da tabela EVENT. A nova tabela é distribuída por EVENTID e classificada por EVENTID e DATEID:

create table eventdistsort distkey (1) sortkey (1,3) as select eventid, venueid, dateid, eventname from event;

O resultado é o seguinte:

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdistsort'; column | type | encoding | distkey | sortkey ---------+------------------------+----------+---------+------- eventid | integer | none | t | 1 venueid | smallint | none | f | 0 dateid | smallint | none | f | 2 eventname | character varying(200)| none | f | 0

Você pode criar exatamente a mesma tabela usando nomes de coluna para as chaves de distribuição e de classificação. Por exemplo:

create table eventdistsort1 distkey (eventid) sortkey (eventid, dateid) as select eventid, venueid, dateid, eventname from event;

A instrução a seguir aplica distribuição uniforme à tabela, mas não define uma chave de classificação explícita.

create table eventdisteven diststyle even as select eventid, venueid, dateid, eventname from event;

A tabela não herda a chave de classificação da tabela EVENT (EVENTID), pois a distribuição EVEN é especificada para a nova tabela. A nova tabela não tem chave de classificação e de distribuição.

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdisteven'; column | type | encoding | distkey | sortkey ----------+------------------------+----------+---------+--------- eventid | integer | none | f | 0 venueid | smallint | none | f | 0 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0

A instrução a seguir aplica a distribuição uniforme e define uma chave de classificação:

create table eventdistevensort diststyle even sortkey (venueid) as select eventid, venueid, dateid, eventname from event;

A tabela resultante tem uma chave de classificação, mas não uma de distribuição.

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdistevensort'; column | type | encoding | distkey | sortkey ----------+------------------------+----------+---------+------- eventid | integer | none | f | 0 venueid | smallint | none | f | 1 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0

A instrução a seguir redistribui a tabela EVENT em uma coluna chave diferente dos dados de entrada, que são classificados na coluna EVENTID, e não define nenhuma coluna SORTKEY. Portanto, a tabela não é classificada.

create table venuedistevent distkey(venueid) as select * from event;

O resultado é o seguinte:

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'venuedistevent'; column | type | encoding | distkey | sortkey ----------+-----------------------------+----------+---------+------- eventid | integer | none | f | 0 venueid | smallint | none | t | 0 catid | smallint | none | f | 0 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0 starttime | timestamp without time zone | none | f | 0
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.