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

변경 스포츠 토토 베트맨

이름

ALTER 스포츠 토토 베트맨-a의 정의를 변경하십시오 스포츠 토토 베트맨

시놉시스

Alter Table [존재하는 경우] [만]이름[ *]Action[, ...]
ALTER 스포츠 토토 베트맨 [존재하는 경우] [만]이름[ *]
    이름 바꾸기 [칼럼]column_nametonew_column_nameAlter Table [존재하는 경우] [만]이름[ *]
    제약 이름 바꾸기제약 _nametonew_constraint_nameAlter Table [존재하는 경우]이름이름 바꾸기new_nameAlter Table [존재하는 경우]이름스키마 설정new_schema

여기서Action중 하나입니다.추가 [열]column_name data_type[CollateCollation] [column_constraint[...]]
    드롭 [컬럼] [존재하는 경우]column_name[제한 | 캐스케이드]
    ALTER [column]column_name[데이터 설정] 유형data_type[CollateCollation] [사용표현]
    ALTER [column]column_name기본값 설정표현ALTER [column]column_name삭제 기본값
    ALTER [column]column_nameset | drop null이 아닙니다
    ALTER [column]column_name통계 설정정수ALTER [column]column_nameset (Attribute_option=value[, ...])
    ALTER [column]column_nameReset (Attribute_option[, ...])
    ALTER [column]column_name스토리지 세트 plain | 외부 | 확장 | 기본 
    추가하다table_constraint[유효하지 않음]
    추가하다table_constraint_using_index제약 조건 검증제약 _name드롭 제약 조건 [존재하는 경우]제약 _name[제한 | 캐스케이드]
    트리거 비활성화 [trigger_name| 모두 | 사용자]
    트리거 활성화 [trigger_name| 모두 | 사용자]
    복제 트리거 활성화trigger_name활성화 항상 트리거trigger_name규칙 비활성화rewrite_rule_name규칙 활성화rewrite_rule_name복제 규칙 활성화rewrite_rule_name항상 규칙 활성화rewrite_rule_name클러스터 onindex_name클러스터없이 설정합니다
    OIDS로 설정합니다
    OID없이 설정합니다
    세트 (Storage_Parameter=value[, ...])
    재설정 (Storage_Parameter[, ...])
    상속parent_table상속 없음parent_tableoftype_name소유자New_ownerSET TABLESPACEnew_tablespace

andtable_constraint_using_indexIS :[제약제약 _name]
    독특한 | 기본 키 index 사용index_name[연기 가능 | 연기되지 않음] [처음에는 연기 | 처음에 즉시]

설명

Alter Table정의를 변경합니다 기존 스포츠 토토 베트맨. 몇 가지 하위 형태가 있습니다.

열 추가

이 양식은 동일한 것을 사용하여 스포츠 토토 베트맨에 새 열을 추가합니다. 구문 ASPostgreSQL : 문서 : 9.2.

드롭 열 [존재하는 경우]

이 양식은 스포츠 토토 베트맨에서 열을 삭제합니다. 인덱스 및 스포츠 토토 베트맨 열과 관련된 제약 조건은 자동으로됩니다 도 떨어졌습니다. 당신은 말해야 할 것입니다캐스케이드스포츠 토토 베트맨 외부의 것이 있으면 예를 들어 외국의 주요 참조와 같은 열에 따라 다릅니다 또는보기. 만약에존재하는 경우is 지정되고 열이 존재하지 않으며 오류가 없습니다. 던졌습니다. 이 경우 통지가 대신 발행됩니다.

존재하는 경우

스포츠 토토 베트맨이 존재하지 않으면 오류를 던지지 마십시오. 에이 이 경우 통지가 발행됩니다.

데이터 유형 설정

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

SET/드롭 기본

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

SET/드롭하지 않습니다 널

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

통계 설정

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

set (Attribute_option=value[, ...])
reset (Attribute_option[, ...])

이 양식은 입학 당 옵션을 설정하거나 재설정합니다. 현재, 유일하게 정의 된 교정당 옵션은입니다.n_distinctandn_distinct_inherited후속 값PostgreSQL : 문서 : 9.2 : 무지개 토토운영.n_distinct통계에 영향을 미칩니다 스포츠 토토 베트맨 자체를 위해n_distinct_inherited통계에 영향을 미칩니다 스포츠 토토 베트맨과 상속 어린이들을 위해 모였습니다. 언제 긍정적 인 가치로 설정,분석열에 정확히 지정된 열이 포함되어 있다고 가정합니다 뚜렷한 비 널 값의 수. 음성으로 설정할 때 값은 -1보다 크거나 동일해야합니다.분석열에서 뚜렷한 비 널 값의 수는 선형입니다. 테이블의 크기로; 정확한 카운트는 계산됩니다 추정 테이블 크기에 절대로 곱하여 주어진 숫자의 값. 예를 들어 -1 값입니다 열의 모든 값은 구별되는 반면 -0.5의 값은 각 값이 평균. 이것은 테이블의 크기 일 때 유용 할 수 있습니다. 숫자 곱하기 이후 시간이 지남에 따라 변경됩니다 쿼리 계획까지 테이블의 행이 수행되지 않습니다. 시간. 추정으로 되돌릴 0의 값을 지정합니다. 일반적으로 별개의 값의 수. 자세한 내용은 의 통계 사용PostgreSQL쿼리 플래너, 참조PostgreSQL : 문서 : 9.2 : 배트맨 토토 사용하는 배트맨 토토.

스토리지 설정

이 양식은 열의 스토리지 모드를 설정합니다. 이것 이 칼럼이 인라인으로 유지되는지 또는 반성토스트스포츠 토토 베트맨, 그리고 데이터를 압축 해야하는지 여부.일반사용해야합니다 와 같은 고정 길이 값Integermain인라인, 압축 가능한 데이터입니다.외부외부의 비 압축 데이터 용입니다. 그리고확장외부를위한 것입니다. 압축 데이터.확장입니다 비를 지원하는 대부분의 데이터 유형의 기본값일반스토리지. 사용외부하위 문자열 작업을 수행합니다 매우 큰텍스트andBYTEA값은 페널티에서 더 빠르게 실행됩니다 저장 공간 증가. 참고세트 저장스포츠 토토 베트맨에서 아무것도 바꾸지 않습니다. 그것은 미래 스포츠 토토 베트맨에서 추구 할 전략을 설정합니다. 업데이트. 보다섹션 56.2자세한 내용은

addtable_constraint[유효하지 않습니다 ]

이 양식은 동일한 구문PostgreSQL : 문서 : 9.2, 옵션유효한, 현재는 외국 키에만 허용됩니다 제약 조건을 확인하십시오. 제약 조건이 표시되면유효하지 않음, 잠재적 인 길이 테이블의 모든 행이 만족하는지 확인하기 위해 초기 점검 제약 조건이 건너 뜁니다. 제약은 여전히 ​​될 것입니다 후속 인서트 또는 업데이트에 대해 시행됩니다 (즉, 일치하는 행이 없으면 실패합니다. 외국 키의 경우 참조 테이블; 그리고 그들은 할 것입니다 새 행이 지정된 수표와 일치하지 않으면 실패합니다 제약 조건). 그러나 데이터베이스는 테이블의 모든 행에 대한 제약 조건은 사용하여 검증확인 강제옵션.

addtable_constraint_using_index

이 양식이 새로운 추가기본 열쇠또는고유 한a 기존 고유 인덱스를 기반으로하는 스포츠 토토 베트맨. 모든 열의 모든 열 인덱스는 제약 조건에 포함됩니다.

인덱스는 표현 열을 가질 수없고 a 부분 색인. 또한 기본값이있는 B-Tree 지수 여야합니다 정렬 주문. 이러한 제한은 인덱스가 있는지 확인합니다 정기적으로 구축 될 것과 동일합니다기본 키 추가또는고유 한 추가명령.

if기본 키지정되어 있습니다. 그리고 인덱스의 열은 아직 표시되지 않았습니다NOT NULL,이 명령은 시도합니다 하다Alter Column Set Not Null그러한 각 열에 대해. 전체 스포츠 토토 베트맨 스캔이 필요합니다 열에 확인하려면 널이 포함되어 있지 않습니다. 다른 모든 것 케이스, 이것은 빠른 작업입니다.

제약 이름이 제공되면 인덱스가 제약 조건 이름과 일치하도록 이름이 변경되었습니다. 그렇지 않으면 제약 조건은 인덱스와 동일합니다.

이 명령이 실행되면 인덱스가입니다."소유"제약에 의한 인덱스가 일반에 의해 구축 된 것과 마찬가지로기본 키 추가또는고유 한 추가명령. 특히, 떨어지는 제약 조건은 색인도 사라질 것입니다.

참고 :기존을 사용하여 제약 조건을 추가합니다 색인은 새로운 경우 상황에서 도움이 될 수 있습니다 차단 테이블없이 제약 조건을 추가해야합니다 오랫동안 업데이트. 그렇게하려면 색인을 만듭니다 사용색인 생성 동시에그리고 공식으로 설치하십시오 이 구문을 사용한 제약 조건. 예를 참조하십시오 아래에.

제약 조건증

이 양식은 외국 키 또는 점검 제약을 검증합니다 이전에로 만들어졌습니다.유효한, 테이블을 스캔하여 제약 조건이 충족되지 않는 행. 아무것도 아님 제약 조건이 이미 유효한 경우 발생합니다.

검증은 더 큰 스포츠 토토 베트맨에서 긴 프로세스가 될 수 있으며 현재 요구액세스 독점적인잠금. 유효성 검사 분리의 값 초기 생성에서 덜 바쁜 시간, 또는 추가 시간을주는 데 사용될 수 있습니다. 새로운 것을 방지하면서 기존 오류를 수정하십시오 오류.

드롭 제약 조건 [존재하는 경우 ]

이 양식은 표에 지정된 제약 조건을 삭제합니다. 만약에존재하는 경우지정되어 있습니다 제약 조건이 존재하지 않으며 오류가 발생하지 않습니다. 이 경우 통지가 대신 발행됩니다.

비활성화/활성화 [복제 | 항상] 트리거

이 양식은 트리거 소속의 발사를 구성합니다 테이블에. 비활성화 된 트리거가 여전히 알려져 있습니다 시스템이지만 트리거링 이벤트시 실행되지는 않습니다 발생합니다. 연기 트리거의 경우 활성화 상태는 다음과 같습니다 트리거 시점이 아니라 이벤트가 발생할 때 확인했습니다 기능이 실제로 실행됩니다. 하나는 a를 비활성화하거나 활성화 할 수 있습니다 이름으로 지정된 단일 트리거 또는 모든 트리거 테이블 또는 사용자 트리거 만 유리합니다 (이 옵션은 제외됩니다 내부적으로 생성 된 제약 조건 트리거와 같은 제약 조건 트리거 외국의 주요 제약 조건을 구현하거나 연기 가능하는 데 사용됩니다 독창성과 배제 제약 조건). 비활성화 또는 내부적으로 생성 된 제약 조건 트리거를 활성화하려면 필요합니다 슈퍼 유스어 특권; 그 이후로주의해서해야합니다 물론 제약의 무결성은 그럴 수 없습니다 트리거가 실행되지 않은 경우 보장됩니다. 방아쇠 발사 메커니즘은 또한 구성의 영향을받습니다 변하기 쉬운Session_Replication_Role. 복제 역할을 할 때 단순히 활성화 된 트리거가 발사됩니다 이다"원산지"(기본값) 또는"Local". 로 구성된 트리거enable replica세션은"Replica"모드,로 구성된 트리거활성화 언제나현재 복제에 관계없이 발사됩니다 방법.

비활성화/활성화 [복제 | 항상] 규칙

이 양식은 재 작성 규칙의 해고를 구성합니다 스포츠 토토 베트맨에 속합니다. 장애인 규칙은 여전히 ​​알려져 있습니다 시스템은 쿼리 재 작성 중에 적용되지 않습니다. 그만큼 의미론은 장애인/활성화 트리거에 관한 것입니다. 이것 구성은 무시됩니다on 선택하다규칙은 항상 적용됩니다 현재 세션이 비 기본 복제 역할.

클러스터 on

이 양식은 미래의 기본 색인을 선택합니다클러스터운영. 그렇지 않습니다 실제로 테이블을 다시 클러스터링합니다.

클러스터없이 설정

이 양식은 가장 최근에 사용 된 것을 제거합니다클러스터인덱스 사양 테이블. 이것은 미래의 클러스터 작업에 영향을 미치지 않습니다 인덱스 지정.

OIDS로 설정

이 양식이 추가됩니다OID시스템 표에 열 (참조섹션 5.4). 아무것도하지 않습니다 스포츠 토토 베트맨에 이미 Oids가있는 경우

이것은 동일하지 않습니다열 OID OID 추가; 그것은 정상을 추가 할 것입니다 명명 된 열OID, 시스템 열이 아닙니다.

OIDS없이 설정

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

set (Storage_Parameter=value[, ...])

이 양식은 하나 이상의 스토리지 매개 변수를 변경합니다. 스포츠 토토 베트맨. 보다스토리지 매개 변수사용 가능한 매개 변수에 대한 자세한 내용. 테이블 내용은 수정되지 않습니다 이 명령에 의해 즉시; 매개 변수에 따라 원하는 효과를 얻으려면 테이블을 다시 작성해야 할 수도 있습니다.PostgreSQL : 문서, PostgreSQL : 문서 : 9.2 : 토토 커뮤니티또는 그 중 하나 의 형태Alter Table스포츠 토토 베트맨을 다시 작성합니다.

참고 :while생성 스포츠 토토 베트맨허용OIDS에 지정됨with (Storage_Parameter)구문,Alter Table치료하지 않음OIDS스토리지 매개 변수로. 대신 사용OIDS로 설정andOIDS없이 설정양식 OID 상태 변경.

Reset (Storage_Parameter[, ...])

이 양식은 하나 이상의 스토리지 매개 변수를 재설정합니다. 기본값. 와 마찬가지로SET, 스포츠 토토 베트맨 스포츠 토토 베트맨을 완전히 업데이트하려면 다시 쓰기가 필요할 수 있습니다.

상속parent_table

이 양식은 대상 스포츠 토토 베트맨을 새로운 자식으로 추가합니다. 지정된 부모 스포츠 토토 베트맨. 그 후, 쿼리 부모는 대상 스포츠 토토 베트맨의 레코드를 포함합니다. 장차 ~ 가 되는 어린이로 추가 된 대상 스포츠 토토 베트맨에는 이미 모든 것을 포함해야합니다. 부모와 동일한 열 (추가가있을 수 있습니다. 열도). 열에는 일치하는 데이터 유형이 있어야합니다. 그리고 그들이 가지고 있다면NOT NULL부모의 제약 조건이 있어야합니다.NOT NULL제약 어린이.

아동 스포츠 토토 베트맨 제약 조건도 일치해야합니다 모두check부모 (즉 로 생성Alter Table ... 추가 제약 ... 상속 없음) 부모의 경우 무시; 일치하는 모든 자식 스포츠 토토 베트맨 제약 조건은 아니어야합니다 무시할 수없는 것으로 표시됩니다. 현재고유 한, 기본 열쇠외국 키제약 조건이 고려되지 않지만 이는 변경 될 수 있습니다 미래.

상속 없음parent_table

이 양식은의 대상 스포츠 토토 베트맨을 제거합니다. 지정된 부모 스포츠 토토 베트맨의 자녀. 쿼리 부모 스포츠 토토 베트맨은 더 이상 대상 스포츠 토토 베트맨.

oftype_name

이 양식은 스포츠 토토 베트맨을 복합 유형에 링크합니다생성그것을 형성했습니다. 그만큼 테이블의 열 이름 및 유형 목록은 정확하게 일치해야합니다. 복합 유형의 것; 의 존재OID시스템 열이 다르게 허용됩니다. 테이블은 다른 테이블에서 상속해서는 안됩니다. 이것들 제한은스포츠 토토 베트맨 작성 의동등한 테이블 정의를 허용합니다.

이 양식은 유형에서 입력 된 스포츠 토토 베트맨을 분리합니다.

소유자

이 양식은 테이블, 시퀀스의 소유자를 변경하거나 지정된 사용자를 봅니다.

SET TABLESPACE

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

Rename

theRename양식 변경 테이블 이름 (또는 인덱스, 시퀀스 또는보기), 이름 테이블의 개별 열 또는 이름의 이름 테이블의 제약. 저장된 사람에는 영향을 미치지 않습니다 데이터.

스키마 설정

이 양식은 스포츠 토토 베트맨을 다른 스키마로 이동합니다. 관련 인덱스, 제약 및 서열이 소유 한 시퀀스 스포츠 토토 베트맨 열도 움직입니다.

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

사용할 테이블을 소유해야합니다ALTER 스포츠 토토 베트맨. 스포츠 토토 베트맨의 스키마를 변경하려면도 있어야합니다.Create새 스키마의 권한. 에게 테이블을 부모 테이블의 새 자녀로 추가하면 부모 테이블도. 소유자를 변경하려면 a 새로운 소유 역할의 직간접 또는 간접 회원 및 그 역할 꼭 가져야생성테이블의 스키마. (이러한 제한은 변경을 시행합니다 소유자는 떨어 뜨려서 할 수없는 일을하지 않습니다. 테이블을 재현합니다. 그러나 슈퍼업자는 소유권을 변경할 수 있습니다 어쨌든 모든 테이블.) 열을 추가하거나 열 유형 또는 사용을 변경하려면 그만큼of조항, 당신도 가지고 있어야합니다usage데이터 유형의 권한.

매개 변수

이름

기존의 이름 (선택적으로 스키마 자격) 변경되는 테이블. 만약에전용IS 테이블 이름 앞에 지정되면 해당 테이블 만 있습니다 변경되었습니다. 만약에전용지정되지 않았습니다. 스포츠 토토 베트맨과 모든 후손 스포츠 토토 베트맨 (있는 경우)은 변경되었습니다. 선택적으로,*할 수 있습니다 테이블 이름에 지정하여 명시 적으로 표시합니다 후손 테이블이 포함되어 있습니다.

column_name

새 또는 기존 열의 이름.

new_column_name

기존 열의 새 이름.

new_name

테이블의 새 이름.

타입

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

table_constraint

스포츠 토토 베트맨의 새로운 스포츠 토토 베트맨 제약 조건.

제약 _name

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

캐스케이드

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

제한

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

trigger_name

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

all

테이블에 속하는 모든 트리거를 비활성화하거나 활성화하십시오. (트리거가있는 경우 슈퍼 사용자 권한이 필요합니다 내부적으로 생성 된 제약 조건 트리거입니다 이는 외국의 주요 제약 조건을 구현하는 데 사용됩니다 연기 가능한 독창성과 배제 제약.)

사용자

테이블에 속하는 모든 트리거를 비활성화하거나 활성화하십시오 내부적으로 생성 된 제약 조건 트리거를 제외하고 외국의 주요 제약 조건을 구현하는 데 사용되거나 연기 가능한 독창성과 배제 제약.

index_name

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

Storage_Parameter

테이블 스토리지 매개 변수의 이름.

value

테이블 스토리지 매개 변수의 새 값. 이것은 할 수 있습니다 매개 변수에 따라 숫자 또는 단어가 되십시오.

parent_table

이것과 연관 시키거나 해제하는 부모 스포츠 토토 베트맨 스포츠 토토 베트맨.

New_owner

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

new_tablespace

테이블이 될 스포츠 토토 베트맨 스페이스의 이름 움직이는.

new_schema

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

노트

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

열이 추가 될 때추가 열, 스포츠 토토 베트맨의 모든 기존 행은 열의 기본값 (NULL의 기본값 값기본값조항이 지정되었습니다).

null 기본값이없는 열 추가 또는 유형 변경 기존 열의 전체 테이블과 인덱스가 필요합니다. 다시 작성합니다. 예외로사용절은 열 내용을 변경하지 않습니다 그리고 이전 유형은 이진이 새로운 유형에 강요되거나 새 유형에 대한 제한되지 않은 도메인, 테이블 재 작성은 필요하지만 영향을받는 열의 인덱스는 여전히 재건. 시스템 추가 또는 제거OID열에는 전체 테이블을 다시 작성해야합니다. 테이블 및/또는 인덱스 재건은 큰 시간에 상당한 시간이 걸릴 수 있습니다. 테이블; 일시적으로 디스크의 두 배나 필요합니다. 공간.

a 추가check또는NOT NULL제약 조건은 스포츠 토토 베트맨을 스캔해야합니다 기존 행이 제약 조건을 충족하는지 확인하지만 스포츠 토토 베트맨 재 작성이 필요합니다.

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

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

떨어진 공간의 즉각적인 교정을 강요하려면 열, 형식 중 하나를 실행할 수 있습니다.Alter Table전체를 다시 작성합니다 테이블. 이로 인해 각 행을 삭제 한 상태에서 재구성합니다 열 값으로 대체 된 열.

재 작성 양식Alter TableMVCC-SAFE가 아닙니다. 테이블을 다시 작성하면 테이블이 나타납니다 스냅 샷을 사용하는 경우 동시 거래에 비어 다시 쓰기가 발생하기 전에 촬영했습니다. 보다섹션 13.5자세한 내용은

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

테이블에 자손 테이블이 있으면 허용되지 않습니다. 열의 이름을 추가, 이름 바꾸거나 변경하거나 이름 바꾸기 동일하지 않고 상위 테이블의 상속 제약 조건 후손에게. 즉,알터 스포츠 토토 베트맨 오직거부됩니다. 이것은 후손들을 보장합니다 항상 부모와 일치하는 열이 있습니다.

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

the트리거, 클러스터, 소유자스포츠 토토 베트맨 스페이스동작은 절대 재발하지 않습니다 후손 스포츠 토토 베트맨; 즉, 그들은 항상 마치 마치 행동전용지정되었습니다. 제약 조건을 추가하면 되풀이됩니다 전용check그렇지 않은 제약 두드러진상속 없음.

시스템 카탈로그 테이블의 일부 변경은 허용.

참조PostgreSQL : 문서 : 9.2 : 무지개 토토 작성a 유효한 매개 변수에 대한 추가 설명.5 장에 대한 추가 정보가 있습니다 계승.

예제

유형 열을 추가하려면Varchara 스포츠 토토 베트맨:

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

스포츠 토토 베트맨에서 열을 떨어 뜨리려면 :

Alter Table Distributors 드롭 열 주소 제한;

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

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

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

ALTER TABLE FOO
    ALTER 열 foo_timestamp 시간대가있는 데이터 유형 타임 스탬프 설정
    사용
        시간대가있는 타임 스탬프 'epoch' + foo_timestamp * 간격 '1 초';

열에 기본 표현식이없는 경우 동일합니다. 새 데이터 유형에 자동으로 캐스트 :

ALTER TABLE FOO
    ALTER 열 foo_timestamp 드롭 기본값,
    ALTER 열 foo_timestamp 타임 존과 함께 타임 스탬프 유형 타임 스탬프
    사용
        시간대가있는 타임 스탬프 'epoch' + foo_timestamp * 간격 '1 초',
    ALTER 열 foo_timestamp set default now ();

기존 열 이름을 바꾸려면 :

Alter Table Distributors City로 열 주소 이름을 바꿉니다.

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

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

기존 제약 조건 이름을 바꾸려면 :

ALTER 테이블 분배기 이름 제한 조건 Zipchk를 Zip_check; 이름 바꾸기

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

Alter Table Distributors Alter Column Street Set Not Null;

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

Alter Table Distributors Alter Column Street Drop이 NULL;

스포츠 토토 베트맨과 모든 어린이에 수표 제약 조건을 추가하려면 :

ALTER 테이블 분배기 추가 제약 조건 Zipchk check (char_length (zipcode) = 5);

수표 제약 조건을 스포츠 토토 베트맨에만 추가하려면 어린이들:

ALTER 테이블 분배기 추가 제약 조건 Zipchk check (char_length (zipcode) = 5) 상속 없음;

(점검 제약은 미래에 의해 상속되지 않습니다 아이들도.)

스포츠 토토 베트맨과 모든 수표 제약 조건을 제거하려면 어린이들:

ALTER 스포츠 토토 베트맨 유통 업체 드롭 제약 조건 ZIPCHK;

한 스포츠 토토 베트맨에서만 점검 제약을 제거하려면 :

ALTER 테이블 전용 유통 업체 삭제 제약 조건 ZIPCHK;

(검사 제약 조건은 모든 어린이의 경우에도 남아 있습니다 스포츠 토토 베트맨.)

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

ALTER 테이블 분배기 추가 제약 조건 DISTFK 외국 키 (주소) 참조 주소 (주소);

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

Alter Table Distributors 추가 구속 조건 Dist_ID_ZIPCODE_KEY 고유 (DIST_ID, ZIPCODE);

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

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

테이블을 다른 스포츠 토토 베트맨 스페이스로 이동하려면 :

ALTER 테이블 분배기 세트 스포츠 토토 베트맨 스페이스 FASTTABLESPACE;

스포츠 토토 베트맨을 다른 스키마로 이동하려면 :

ALTER TABLE MYSCHEMA.DITURITORS SET SCHEMA YOUSTCHEMA;

업데이트를 차단하지 않고 기본 키 제약 조건을 재현합니다 인덱스가 재건되는 동안 :

유통 업체 (dist_id)에서 동시에 고유 한 인덱스를 동시에 dist_id_temp_idx를 만듭니다.
Alter Table Distributors 드롭 제한 제한 유통 업체_pkey,
    INDEX DIST_ID_TEMP_IDX;을 사용하여 구속 조건 유통 업체 _pkey 기본 키 추가

호환성

양식add(색인 사용),드롭, 기본값 설정세트 데이터 유형(사용) 준수 SQL 표준으로. 다른 형태는입니다.PostgreSQLSQL 표준의 확장. 또한, 하나 이상의 조작을 하나의Alter Table명령은 an입니다 확대.

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