이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다스포츠 토토 베트맨 PostgreSQL : 문서 : 17 : Alter Table버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

변경 윈 토토

이름

윈 토토 Table- a의 정의를 변경하십시오 테이블

시놉시스

윈 토토 Table [Only]이름[ *]Action[, ...]
윈 토토 Table [Only]이름[ *]
    이름 바꾸기 [칼럼]컬럼tonew_column윈 토토 Table이름이름 바꾸기new_name윈 토토 Table이름스키마 설정new_schema여기서Action[칼럼] 추가 type[column_constraint[...]]
    드롭 [칼럼][제한 | 캐스케이드]
    윈 토토 [column]typetype[사용표현]
    윈 토토 [column]기본값 설정표현윈 토토 [column]삭제 기본값
    윈 토토 [column]set | drop null이 아닙니다
    윈 토토 [column]컬럼통계 설정정수윈 토토 [column]스토리지 세트 plain | 외부 | 확장 | 기본 
    추가하다table_constraint드롭 제약 조건제약 _name[제한 | 캐스케이드]
    트리거 비활성화 [trigger_name| 모두 | 사용자]
    트리거 활성화 [trigger_name| 모두 | 사용자]
    클러스터 onindex_name클러스터없이 설정합니다
    OID없이 설정합니다
    소유자New_owner세트 윈 토토 스페이스new_tablespace

설명

윈 토토 Table정의를 변경합니다 기존 윈 토토. 몇 가지 하위 형태가 있습니다.

열 추가

이 양식은 동일한 것을 사용하여 윈 토토에 새 열을 추가합니다. 구문 ASPostgreSQL : 문서.

삭제 열

이 양식은 윈 토토에서 열을 삭제합니다. 인덱스 및 윈 토토 열과 관련된 제약 조건은 자동으로됩니다 도 떨어졌습니다. 당신은 말해야 할 것입니다캐스케이드윈 토토 외부의 것이 있으면 예를 들어 외국의 주요 참조와 같은 열에 따라 다릅니다 또는 견해.

윈 토토 Column Type

이 양식은 테이블의 열 유형을 변경합니다. 열과 관련된 인덱스 및 간단한 테이블 제약 조건 새 열 유형을 사용하도록 자동 변환됩니다. 원래 공급 된 표현을 재구성함으로써. 그만큼 선택 과목사용조항을 지정합니다 이전의 새 열 값을 계산하는 방법; 만약에 생략하면 기본 변환은 an과 동일합니다 오래된 데이터 유형에서 새로 캐스트 된 할당. 에이사용아니오가 있으면 조항이 제공되어야합니다 기존에서 새로운 유형으로 캐스트 된 암시 적 또는 할당.

SET/드롭 기본

이 양식은 열. 기본값은 후속에만 적용삽입명령; 그들은 원인이되지 않습니다 이미 테이블에있는 줄이 변경됩니다. 기본값도있을 수 있습니다 뷰를 위해 만들어졌으며,이 경우 삽입삽입보기에 대한 진술 보기 전에insert규칙 적용됩니다.

set/드롭하지 않습니다 널

이 양식은 열이 허용하도록 표시되는지 여부를 변경합니다. 널 값 또는 널 값을 거부합니다. 당신은 만 사용할 수 있습니다널 설정열면 널 값이 포함되어 있지 않습니다.

통계 설정

이 양식은 컬럼 당 통계 수집을 설정합니다 후속 대상분석운영. 대상은 할 수 있습니다 범위 0 ~ 1000으로 설정해야합니다. 대안 적으로, -1로 설정하십시오 시스템 기본 통계 대상 사용으로 되돌아갑니다 (default_statistics_target). 의 통계 사용에 대한 자세한 내용은PostgreSQL쿼리 플래너, 참조토토 핫.

스토리지 설정

이 양식은 열의 스토리지 모드를 설정합니다. 이것 이 칼럼이 인라인으로 유지되는지 또는 보충 윈 토토 및 데이터 여부 압축 여부.일반와 같은 고정 길이 값에 사용정수그리고 인라인, 냉정하지 않습니다.Main인라인, 압축 가능한 데이터입니다.외부외부를위한 것입니다. 압축되지 않은 데이터 및확장is 외부, 압축 데이터의 경우확장대부분의 데이터 유형의 기본값입니다 비 지원일반스토리지. 사용외부에 대한 하위 문자열 작업텍스트andBYTEA벌금에 따라 더 빠른 열 저장 공간 증가. 참고스토리지 설정그 자체가 아무것도 바꾸지 않습니다 윈 토토에서는 추구 할 전략을 설정합니다. 향후 윈 토토 업데이트 중. 보다섹션 50.2더 많은 것 정보.

addtable_constraint

이 양식은 동일한 구문윈 토토 생성.

드롭 제약 조건

이 양식은 표에 지정된 제약 조건을 삭제합니다.

비활성화/트리거 활성화

이 양식은 속하는 트리거를 비활성화하거나 활성화합니다 테이블. 비활성화 트리거는 여전히 시스템에 알려져 있으며 트리거링 이벤트가 발생할 때 실행되지 않습니다. a 지연된 트리거, 활성화 상태가있을 때 확인됩니다 트리거 함수가 실제로있을 때가 아니라 이벤트가 발생합니다 실행. 하나는 단일 트리거를 비활성화하거나 활성화 할 수 있습니다 이름 또는 테이블의 모든 트리거로 지정되거나 사용자 트리거 (이 옵션은 사용되는 트리거를 제외합니다 외국의 주요 제약 조건을 구현하려면). 비활성화 또는 제약 조건 트리거를 활성화하려면 슈퍼 사용자 권한이 필요합니다. 물론 제약 조건의 무결성을 보장 할 수 없습니다 트리거는 실행되지 않습니다.

클러스터

이 양식은 미래의 기본 색인을 선택합니다PostgreSQL : 문서 : 8.1 : 사설 토토운영. 그것 실제로 테이블을 다시 클러스터하지 않습니다.

클러스터없이 설정

이 양식은 가장 최근에 사용 된 것을 제거합니다PostgreSQL : 문서 : 8.1 : 사설 토토색인 사양 테이블에서. 이것은 미래의 클러스터 작업에 영향을 미칩니다 색인을 지정하지 마십시오.

OIDS없이 설정

이 양식은를 제거합니다OID윈 토토에서 시스템 열. 이것은 정확히에 해당합니다.삭제 열 OID 제한이미 없다면 불평하지 않을 것입니다OID열.

변형이 없음윈 토토 Table이를 통해 OID를 복원 할 수 있습니다 일단 제거되면 테이블에.

소유자

이 양식은 테이블, 시퀀스, 또는 지정된 사용자를 봅니다.

세트 윈 토토 스페이스

이 양식은 윈 토토의 윈 토토 스페이스를 지정된 윈 토토 스페이스 및 관련 데이터 파일을 연결합니다 윈 토토이 새 윈 토토 스페이스에. 윈 토토의 색인, 있으면 움직이지 않는다. 그러나 그들은 별도로 움직일 수 있습니다 추가윈 토토 스페이스 세트명령. 참조 참조윈 토토 스페이스 생성.

Rename

theRename양식 변경 테이블 이름 (또는 인덱스, 시퀀스 또는보기) 또는 테이블에서 개별 열의 이름. 효과가 없습니다 저장된 데이터에서.

스키마 설정

이 양식은 테이블을 다른 스키마로 이동합니다. 관련 인덱스, 제약 조건 및 직렬 컬럼 시퀀스도 움직입니다.

Renameand스키마 설정목록에 결합 할 수 있습니다 동시에 적용 할 여러 개의 변경. 예를 들어, 그것은입니다 여러 열을 추가하거나 여러 종류의 유형을 변경할 수 있습니다. 단일 명령의 열. 이것은 특히 유용합니다 큰 테이블, 테이블 위에 한 번만 패스가 필요하기 때문에 만들어진.

당신은 사용할 테이블을 소유해야합니다윈 토토 테이블. 윈 토토의 스키마를 변경하려면도 있어야합니다.Create새 스키마의 권한. 에게 소유자를 변경하십시오. 새로운 소유의 역할과 그 역할은생성테이블 스키마의 특권. (이것들 소유자를 변경하는 것은 아무것도하지 않는 제한이 시행됩니다 테이블을 떨어 뜨리고 재현하여 할 수 없었습니다. 그러나 a 슈퍼업자는 어쨌든 모든 테이블의 소유권을 변경할 수 있습니다.)

매개 변수

이름

기존의 이름 (schema-qualified) 변경되는 테이블. 만약에전용IS 지정되면 해당 윈 토토 만 변경됩니다. 만약에전용는 지정되지 않았으며 표 및 모든 것입니다 자손 윈 토토 (있는 경우)이 업데이트됩니다.*테이블 이름에 추가 할 수 있습니다 자손 테이블이 변경되어야하지만 현재 버전은 기본 동작입니다. (안에 7.1 이전에 출시,전용기본 동작. 기본값은 변경하여 변경 될 수 있습니다 구성 매개 변수SQL_INHERITANCE.)

새 또는 기존 열의 이름.

new_column

기존 열의 새 이름.

new_name

테이블의 새 이름.

타입

새 열의 데이터 유형 또는 새 데이터 유형 기존 열.

table_constraint

윈 토토의 새로운 윈 토토 제약 조건.

제약 _name

삭제할 기존 제약 조건의 이름.

캐스케이드

드롭에 의존하는 객체를 자동으로 드롭합니다 열 또는 제약 조건 (예 : 참조를 참조합니다 열).

제한

어떤 경우 열이나 제약 조건을 떨어 뜨리지 않음 종속 객체. 이것은 기본 동작입니다.

trigger_name

비활성화 또는 활성화 할 단일 트리거 이름.

all

테이블에 속하는 모든 트리거를 비활성화하거나 활성화하십시오. (트리거가있는 경우 슈퍼 사용자 권한이 필요합니다 외국의 주요 제약을위한 것입니다.)

사용자

테이블에 속하는 모든 트리거를 비활성화하거나 활성화하십시오 외국의 주요 제약 조건 트리거를 제외하고

index_name

테이블을 표시 해야하는 색인 이름 클러스터링.

New_owner

테이블의 새 소유자의 사용자 이름.

new_tablespace

테이블이 될 윈 토토 스페이스의 이름 움직이는.

new_schema

테이블이 될 스키마의 이름 움직이는.

노트

키워드컬럼소음은 할 수 있습니다 생략하십시오.

열이 추가 될 때추가 열, 윈 토토의 모든 기존 행은 열의 기본값 (NULL의 기본값 값기본값조항이 지정되어 있습니다).

null 기본값이없는 열 추가 또는 유형 변경 기존 열의 전체 테이블은 다시 작성. 큰 시간에 상당한 시간이 걸릴 수 있습니다. 테이블; 그리고 일시적으로 디스크 공간의 두 배가 필요합니다.

acheck또는NOT NULL제약 조건은 윈 토토을 스캔해야합니다 기존 행이 제약 조건을 충족하는지 확인하십시오.

다중을 지정하는 옵션을 제공하는 주된 이유 단일 변경윈 토토 Table여러 테이블 스캔 또는 재 작성로 인해 테이블 위의 단일 패스.

the낙하 열양식은 그렇지 않습니다 칼럼을 물리적으로 제거하지만 단순히 보이지 않게 만듭니다. SQL 작업. 후속 삽입 및 업데이트 작업 테이블은 열에 널 값을 저장합니다. 따라서 삭제하는 a 열은 빠르지 만 디스크가 즉시 줄어들지는 않습니다. 삭제 된 열이 차지하는 공간으로 테이블의 크기 재생되지 않습니다. 공간은 시간이 지남에 따라 재생됩니다 기존 행이 업데이트됩니다.

사실윈 토토 Type요구 사항 전체 윈 토토을 다시 작성하는 것은 때때로 이점이기 때문에 다시 쓰기 프로세스는 윈 토토의 죽은 공간을 제거합니다. 을 위한 예를 들어, 삭제 된 열이 차지하는 공간을 되 찾으려면 즉시 가장 빠른 방법은입니다.

윈 토토 Table Table Alter Column Anycol Type AnyType;

여기서Anycol남은 윈 토토입니다 칼럼 및AnyType와 같은 유형입니다 칼럼은 이미 가지고 있습니다. 이로 인해 의미 적으로 가시가 발생하지 않습니다 윈 토토의 변경이지만 명령은 다시 작성하여 평범하지 않은 데이터를 제거합니다.

the사용옵션윈 토토 Type실제로 모든 표현식을 지정할 수 있습니다 행의 오래된 값을 포함합니다. 즉, 참조 할 수 있습니다 다른 열뿐만 아니라 변환되는 열. 이것은 허용합니다 로 수행 할 매우 일반적인 전환윈 토토 Type구문. 이러한 유연성 때문에 그만큼사용표현은 적용되지 않습니다 열의 기본값 (있는 경우); 결과는 A가 아닐 수도 있습니다 기본값에 필요한 일정한 표현. 이것은 그것을 의미합니다 옛날부터 신규로 내재 된 암시 적 또는 과제가 없을 때 유형,윈 토토 Type를 변환하지 못할 수 있습니다 a에도 불구하고 기본값사용절은입니다 제공. 그러한 경우로 기본값을 삭제합니다.Drop Default, 성능윈 토토 Type, 그리고 사용세트 기본적절한 새 기본값을 추가합니다. 비슷한 고려 사항은 관련 인덱스 및 제약 조건에 적용됩니다 열.

테이블에 자손 테이블이 있으면 허용되지 않습니다. 부모 테이블의 열 유형을 추가, 이름 바꾸거나 변경하십시오. 후손들에게도 같은 일을하지 않고. 즉,윈 토토 Table 만거부됩니다. 이것은 보장합니다 후손들은 항상 부모와 일치하는 열이 있습니다.

재귀낙하 열작동 후손 인 경우에만 자손 윈 토토의 칼럼을 제거합니다. 다른 부모로부터 그 칼럼을 물려받지 않으며 결코 열의 독립적 인 정의. 비 재수낙하 열(예 :윈 토토 테이블 만 ... 드롭 열) 절대 제거하지 마십시오 자손 기둥은 모두 독립적으로 표시됩니다 상속보다는 정의됩니다.

the트리거, 클러스터, 소유자윈 토토 스페이스행동은 절대 재발하지 않습니다 후손 윈 토토; 즉, 그들은 항상 마치 마치 행동전용지정되었습니다. 제약 조건을 추가 할 수 있습니다 에 대해서만 다시 반복check제약 조건.

시스템 카탈로그 윈 토토의 일부 변경은 허용.

참조PostgreSQL : 문서 : 8.1 : 토토 사이트 추천 작성유효한 매개 변수에 대한 추가 설명.5 장에 대한 추가 정보가 있습니다 계승.

예제

유형 열을 추가하려면Varchara 윈 토토:

윈 토토 Table Distributors 열 주소 추가 Varchar (30);

윈 토토에서 열을 떨어 뜨리려면 :

윈 토토 Table Distributors 드롭 열 주소 제한;

하나의 기존 열 유형을 하나로 변경하려면 작업:

테이블 유통 업체 변경
    ALTER 열 주소 유형 Varchar (80),
    ALTER 열 이름 유형 varchar (100);

UNIX 타임 스탬프를 포함하는 정수 열을 변경하려면시간대가있는 타임 스탬프a사용절 :

ALTER TABLE FOO
    ALTER 열 foo_timestamp 타임 존과 함께 타임 스탬프 유형 타임 스탬프
    사용
        시간대가있는 타임 스탬프 'epoch' + foo_timestamp * 간격 '1 초';

기존 열 이름을 바꾸려면 :

윈 토토 Table Distributors City로 열 주소 이름을 바꾸십시오.

기존 테이블의 이름을 바꾸려면 :

윈 토토 Table Distributors 공급 업체로 이름 바꾸기;

컬럼에 널없는 구속 조건을 추가하려면 :

윈 토토 Table Distributors Alter Column Street Set Not Null;

열에서 널없는 제약 조건을 제거하려면 :

윈 토토 Table Distributors Alter Column Street Drop이 NULL;

윈 토토에 검사 제약 조건을 추가하려면 :

윈 토토 테이블 분배기 추가 제약 조건 Zipchk Check (char_length (Zipcode) = 5);

윈 토토과 모든 수표 제약 조건을 제거하려면 어린이들:

ALTER 테이블 유통 업체 드롭 제약 조건 ZIPCHK;

표에 외래 키 제약 조건을 추가하려면 :

ALTER TABLE DESTROTORS 추가 제약 조건 DISTFK 외국 키 (주소) 참조 주소 (주소) 일치 전체;

테이블에 (멀티 컬럼) 고유 한 제약 조건을 추가하려면 :

윈 토토 테이블 분배기 추가 제약 조건 DEST_ID_ZIPCODE_KEY 고유 (DIST_ID, ZIPCODE);

자동으로 명명 된 1 차 키 제약 조건을 윈 토토, 윈 토토에는 1 차 하나만있을 수 있음을 알 수 있습니다. 열쇠:

윈 토토 테이블 분배기 기본 키 추가 (dist_id);

테이블을 다른 윈 토토 스페이스로 이동하려면 :

ALTER 테이블 유통 업체 세트 윈 토토 스페이스 FASTTABLESPACE;

윈 토토을 다른 스키마로 이동하려면 :

ALTER TABLE MYSCHEMA.DITURITORS SET SCHEMA YOUSTCHEMA;

호환성

theadd, 드롭기본값 설정양식은 SQL 표준을 준수합니다. 다른 형태는입니다.PostgreSQLSQL의 확장 기준. 또한 하나 이상의 조작을 지정하는 능력 단일윈 토토 Table명령은 an입니다 확대.

윈 토토 TABLE DROP 열를 사용할 수 있습니다 테이블의 유일한 열을 떨어 뜨리고 제로 컬럼 테이블을 남깁니다. 이것은 SQL의 확장으로 제로 컬럼을 분해합니다 테이블.