2014-04-17 5 views

답변

1

가능하지 않습니다. 이전 테이블에서 쉽게 채워지는 테이블을 다시 만들 수 있습니다. 이 허용

BEGIN; 

CREATE TABLE mytable_tmp 
DISTSTYLE ALL -- You can also use DISTKEY(some_column) or DISTSTYLE EVEN 
AS SELECT * FROM mytable; 

DROP TABLE mytable; 
ALTER TABLE mytable_tmp RENAME TO mytable; 

COMMIT; 

쉽게 심지어 테이블에 어떤 열을 모른 채 distkey 또는 테이블의 diststyle을 수정 :

+0

감사합니다. 내가 뭔가를 놓쳤다 고 생각했습니다. 'alter table XXX alter distyle to all; '을 실행하는 것이 더 쉬울 것입니다.하지만 그것은 제 견해입니다. – dudu1982

+0

테이블 또는 압축에 대한 다른 속성이없는 경우에 유용합니다. 모든 나 필드는 압축되어 있으므로 아무 것도 안됩니다. – dudu1982

6

내가 찾은 가장 쉬운 방법은 다음과 같은 사용하는 것입니다. 테이블의 이름 만 알면됩니다.

+1

docs에서 "CREATE TABLE AS (CTAS) 테이블은 압축 인코딩, 제약 조건, ID 열, 기본 열 값 또는 생성 된 테이블의 기본 키를 상속하지 않습니다." 위 쿼리는 이전 테이블의 압축 기술을 복사하지 않습니다. http://docs.aws.amazon.com/redshift/latest/dg/r_CTAS_usage_notes.html을 확인하십시오. – imVJ

관련 문제