ALTER TABLE — 스포츠 토토 베트맨 정의 변경
스포츠 토토 베트맨 변경 [ 존재하는 경우 ] [ 전용 ]이름[ * ]액션[, ... ] ALTER TABLE [ 존재하는 경우 ] [ 전용 ]이름[ * ] [ 열 ] 이름 바꾸기컬럼_이름받는 사람new_column_name스포츠 토토 베트맨 변경 [ 존재하는 경우 ] [ 전용 ]이름[ * ] 제약조건 이름 바꾸기제약_이름받는 사람new_constraint_name스포츠 토토 베트맨 변경 [ 존재하는 경우 ]이름다음으로 이름 바꾸기:new_name스포츠 토토 베트맨 변경 [ 존재하는 경우 ]이름스키마 설정new_schema스포츠 토토 베트맨스페이스의 모든 스포츠 토토 베트맨 변경이름[ 소유자역할_이름[, ... ] ] 스포츠 토토 베트맨스페이스 설정new_tablespace[ 지금 기다리세요 ] 스포츠 토토 베트맨 변경 [ 존재하는 경우 ]이름파티션 연결파티션_이름가치의 경우partition_bound_spec| 기본이름파티션 분리파티션_이름[ 동시 | 마무리 ]어디에서액션다음 중 하나입니다:추가 [ 열 ] [ 존재하지 않는 경우 ]열_이름데이터_유형[ 수집조합] [column_constraint[ ... ] ] DROP [ 열 ] [ 존재하는 경우 ]컬럼_이름[ 제한 | 캐스케이드 ] 변경 [ 열 ]컬럼_이름[ 데이터 설정 ] 유형데이터_유형[ 수집조합] [ 사용 중표현] 변경 [ 열 ]컬럼_이름기본값으로 설정표현변경 [ 열 ]열_이름기본값 삭제 변경 [ 열 ]열_이름설정 | 삭제 NULL이 아님 변경 [ 열 ]컬럼_이름다음과 같이 표현식 설정(표현) 변경 [ 열 ]컬럼_이름식 삭제 [존재하는 경우] 변경 [ 열 ]열_이름생성된 항목 추가 항상 | 기본적으로 ID로 [ (sequence_options) ] 변경 [ 열 ]열_이름세트가 생성됨 항상 | 기본값으로 | 세트sequence_option| 다시 시작 [ [ ]다시 시작] [...] 변경 [ 열 ]컬럼_이름ID 삭제 [존재하는 경우] 변경 [ 열 ]열_이름통계 설정정수| 기본 변경 [ 열 ]컬럼_이름설정(속성_옵션=값[, ... ] ) 변경 [ 열 ]컬럼_이름재설정(속성_옵션[, ... ] ) 변경 [ 열 ]열_이름저장소 설정 일반 | 외부 | 확장 | 메인 | 기본 변경 [ 열 ]컬럼_이름압축 설정압축_방법추가table_constraint[ 유효하지 않음 ] 추가하다table_constraint_using_index제약조건 변경제약_이름[ 연기 가능 | 연기 불가 ] [ 처음에는 연기됨 | 초기 즉시 ] [ 시행 | 시행되지 않음 ] 제약조건 변경제약_이름[ 상속 | 상속 없음] 제약조건 검증제약_이름제약조건 삭제 [ 존재하는 경우 ]제약_이름[ 제한 | 캐스케이드 ] 트리거 비활성화 [trigger_name| 전체 | 사용자 ] 트리거 활성화 [trigger_name| 전체 | 사용자 ] 복제본 트리거 활성화trigger_name항상 트리거 활성화trigger_name규칙 비활성화rewrite_rule_name규칙 활성화rewrite_rule_name복제본 규칙 활성화rewrite_rule_name항상 규칙 활성화rewrite_rule_name행 수준 보안 비활성화 행 수준 보안 활성화 강제 행 수준 보안 강제 행 수준 보안 없음 클러스터 켜기색인_이름클러스터 없이 설정 OIDS 없이 설정 액세스 방법 설정new_access_method| 기본 스포츠 토토 베트맨스페이스 설정new_tablespace설정 로그됨 | 기록되지 않음 세트 (storage_parameter[=값] [, ... ] ) 재설정(storage_parameter[, ... ] ) 상속parent_table상속 없음parent_tableOF유형_이름다음이 아님 의 소유자new_owner| 현재_역할 | CURRENT_USER | SESSION_USER 복제본 ID 기본 | 인덱스 사용색인_이름| 전체 | 아무것도 아님그리고partition_bound_spec다음은:IN (partition_bound_expr[, ...] ) | 에서 (partition_bound_expr| 최소값 | 최대값 [, ...] ) 에게 (partition_bound_expr| 최소값 | MAXVALUE [, ...] ) | 와( 모듈러스numeric_literal, 나머지numeric_literal) 그리고column_constraint다음과 같습니다:[ 제약제약_이름] NULL이 아님 [상속 없음] | NULL | 확인하다 (표현) [ 상속 없음 ] | 기본default_expr| 항상 다음과 같이 생성됩니다. (세대_expr) [ 저장됨 | 가상 ] | 생성됨 항상 | 기본적으로 ID로 [ (sequence_options) ] | 고유 [ NULL [ 아님 ] 고유 ]index_parameters| 기본 키index_parameters| 참조재조정 가능[ (refcolumn) ] [ 전체 일치 | 부분 일치 | 매치 심플 ] [ 삭제 중referential_action] [ 업데이트 중referential_action]그리고table_constraint다음은:[ 제약제약_이름] 확인하다 (표현) [ 상속 없음 ] | NULL이 아님열_이름[ 상속 없음 ] | 고유 [ NULL [ 아님 ] 고유 ] (컬럼_이름[, ... ] [,컬럼_이름겹침 없음 ] )index_parameters| 기본 키(열_이름[, ... ] [,열_이름겹침 없음 ] )index_parameters| 제외 [ 사용index_method] (제외_요소함께연산자[, ... ] )index_parameters[ 어디서 (술어) ] | 외래 키(열_이름[, ... ] [, PERIOD컬럼_이름] ) 참조재조정 가능[ (refcolumn[, ... ] [, PERIODrefcolumn] ) ] [ 전체 일치 | 부분 일치 | 단순 일치 ] [ 삭제 시referential_action] [ 업데이트 중referential_action]그리고table_constraint_using_index다음과 같습니다:[ 제약제약_이름] 고유 | 기본 키 인덱스 사용색인_이름[ 연기 가능 | 연기 불가 ] [ 처음에는 연기됨 | 처음에는 즉시 ]index_parameters에고유,기본 키및제외제약조건은 다음과 같습니다.[ 포함(컬럼_이름[, ... ] ) ] [ 와 함께 (storage_parameter[=값] [, ... ] ) ] [ 인덱스 스포츠 토토 베트맨스페이스 사용스포츠 토토 베트맨스페이스_이름]제외_요소안에제외제약조건은: {열_이름| (표현) [ 대조조합] [opclass[ (opclass_parameter=값[, ... ] ) ] ] [ ASC | DESC ] [ NULLS 첫 번째 | 마지막 ]referential_action에외래 키/참조제약조건은:조치 없음 | 제한 | 캐스케이드 | NULL 설정 [(컬럼_이름[, ... ] ) ] | 기본값으로 설정 [ (열_이름[, ... ] ) ] }
스포츠 토토 베트맨 변경기존 테이블의 정의를 변경합니다. 아래에 설명된 여러 하위 양식이 있습니다. 필요한 잠금 수준은 각 하위 양식마다 다를 수 있습니다. 안접속 독점명시적으로 언급하지 않는 한 잠금이 획득됩니다. 여러 하위 명령이 제공되면 획득된 잠금은 모든 하위 명령에서 요구하는 가장 엄격한 잠금이 됩니다.
열 추가 [ 존재하지 않는 경우 ] #이 양식은 다음과 동일한 구문을 사용하여 테이블에 새 열을 추가합니다.스포츠 토토 베트맨 생성. 만약에존재하지 않는 경우이(가) 지정되었고 이 이름을 가진 열이 이미 존재합니다. 오류가 발생하지 않습니다.
열 삭제 [ 존재하는 경우 ] #이 양식은 테이블에서 열을 삭제합니다. 열과 관련된 인덱스 및 테이블 제약 조건도 자동으로 삭제됩니다. 열을 제거하면 통계에 단일 열에 대한 데이터만 포함되는 경우 삭제된 열을 참조하는 다변량 통계도 제거됩니다. 당신은 말해야 할 것입니다캐스케이드테이블 외부의 항목이 열에 따라 달라지는 경우(예: 외래 키 참조 또는 뷰) 만약에존재하는 경우이 지정되었지만 열이 존재하지 않으면 오류가 발생하지 않습니다. 이 경우 대신 통지가 발행됩니다.
데이터 유형 설정 #이 양식은 테이블의 열 유형을 변경합니다. 열과 관련된 인덱스 및 단순 테이블 제약 조건은 원래 제공된 표현식을 다시 구문 분석하여 새 열 유형을 사용하도록 자동으로 변환됩니다. 선택사항콜레이트절은 새 열에 대한 데이터 정렬을 지정합니다. 생략하면 데이터 정렬이 새 열 유형의 기본값이 됩니다. 선택사항사용 중절은 이전 열 값에서 새 열 값을 계산하는 방법을 지정합니다. 생략하면 기본 변환은 이전 데이터 유형에서 새 데이터 유형으로 변환되는 할당과 동일합니다. 에이사용 중이전 유형에서 새 유형으로의 암시적 또는 할당 캐스트가 없는 경우 절을 제공해야 합니다.
이 양식을 사용하면 해당 열의 통계가 제거되므로 실행됩니다.분석나중에 스포츠 토토 베트맨에 올려두는 것이 좋습니다. 가상 생성 열의 경우,분석해당 열에는 통계가 없으므로 필요하지 않습니다.
SET/기본값 삭제 #이 양식은 열의 기본값을 설정하거나 제거합니다(제거는 기본값을 NULL로 설정하는 것과 같습니다). 새로운 기본값은 이후에만 적용됩니다.삽입또는업데이트명령; 이미 스포츠 토토 베트맨에 있는 행이 변경되지는 않습니다.
SET/드롭은 NULL이 아님 #이 양식은 열이 Null 값을 허용하도록 표시되는지 또는 Null 값을 거부하도록 표시되는지 여부를 변경합니다.
NULL이 아닌 설정테이블의 레코드에 다음이 포함되지 않은 경우 열에만 적용될 수 있습니다.NULL열의 값입니다. 일반적으로 이는스포츠 토토 베트맨 변경다음을 제외하고 전체 테이블을 스캔하여유효하지 않음지정되었습니다. 그러나 유효한 경우확인제약조건이 존재하며(동일한 명령에서 삭제되지 않음) 아니오임을 증명합니다.NULL존재할 수 있는 경우 스포츠 토토 베트맨 스캔을 건너뜁니다. 열에 유효하지 않은 null이 아닌 제약 조건이 있는 경우,NULL이 아닌 설정확인합니다.
이 스포츠 토토 베트맨이 파티션이면 수행할 수 없습니다.드롭은 NULL이 아님표시된 열에NULL이 아님상위 스포츠 토토 베트맨에. 삭제하려면NULL이 아님모든 파티션의 제약, 수행드롭은 NULL이 아님상위 스포츠 토토 베트맨에. 없더라도NULL이 아님부모에 대한 제약 조건, 원하는 경우 이러한 제약 조건을 개별 파티션에 추가할 수 있습니다. 즉, 부모가 null을 허용하더라도 자식은 null을 허용하지 않을 수 있지만 그 반대는 허용되지 않습니다. 또한 삭제하는 것도 가능합니다.NULL이 아님제약조건만자식에서 제거하지 않는 상위 스포츠 토토 베트맨.
표현식을 다음으로 설정 #이 양식은 생성된 열의 표현을 대체합니다. 저장된 생성 열의 기존 데이터가 다시 작성되고 향후 모든 변경사항에는 새로운 생성 표현식이 적용됩니다.
이 양식이 저장된 생성 열에 사용되면 해당 통계가 제거되므로 실행됩니다.분석나중에 스포츠 토토 베트맨에 올려두는 것이 좋습니다. 가상 생성 열의 경우,분석해당 열에는 통계가 없으므로 필요하지 않습니다.
식 삭제 [존재하는 경우] #이 양식은 저장된 생성 열을 일반 기본 열로 바꿉니다. 열의 기존 데이터는 유지되지만 향후 변경사항에서는 더 이상 생성 표현식이 적용되지 않습니다.
이 양식은 현재 저장된 생성 열(가상 열 제외)에만 지원됩니다.
만약존재하는 경우 표현식 삭제이 지정되었으며 열이 생성된 열이 아니므로 오류가 발생하지 않습니다. 이 경우 대신 통지가 발행됩니다.
생성된 항목 추가 항상 | 기본적으로 ID로세트가 생성됨 항상 | 기본적으로ID 삭제 [존재하는 경우] #이 양식은 열이 ID 열인지 여부를 변경하거나 기존 ID 열의 생성 속성을 변경합니다. 보다스포츠 토토 베트맨 생성30228_30249기본값으로 설정, 이러한 형식은 후속 동작에만 영향을 미칩니다.삽입그리고업데이트명령; 이미 스포츠 토토 베트맨에 있는 행이 변경되지는 않습니다.
만약존재하는 경우 ID 삭제이 지정되었으며 열이 ID 열이 아니므로 오류가 발생하지 않습니다. 이 경우 대신 통지가 발행됩니다.
SETsequence_option다시 시작 #이러한 형식은 기존 ID 열의 기초가 되는 순서를 변경합니다.sequence_option에서 지원하는 옵션입니다순서 변경예를 들어증분 기준.
통계 설정 #이 양식은 이후에 대한 열별 통계 수집 목표를 설정합니다.분석작업. 목표는 0~10000 범위에서 설정할 수 있습니다. 다음으로 설정하세요.기본값시스템 기본 통계 대상 사용으로 되돌리려면(default_statistics_target). (-1 값으로 설정하는 것은 동일한 결과를 얻기 위한 구식 철자법입니다.) 통계 사용에 대한 자세한 내용은 다음을 참조하세요.포스트그레SQL쿼리 플래너, 참조토토 사이트 추천 _.
통계 설정a를 획득업데이트 독점 공유잠금.
설정(속성_옵션 = 값 [, ... ] )재설정(속성_옵션 [, ... ] ) #이 양식은 속성별 옵션을 설정하거나 재설정합니다. 현재 정의된 속성별 옵션은 다음과 같습니다.n_distinct그리고n_distinct_inherited, 이후에 수행된 고유 값 개수 추정을 재정의합니다.분석작업.n_distinct스포츠 토토 베트맨 자체의 통계에 영향을 미치는 반면n_distinct_inherited스포츠 토토 베트맨과 상속 하위 항목에 대해 수집된 통계에 영향을 미칩니다. 양수 값으로 설정하면,분석열에 지정된 수의 고유한 Null이 아닌 값이 정확하게 포함되어 있다고 가정합니다. -1보다 크거나 같아야 하는 음수 값으로 설정된 경우,분석열에 있는 고유한 Null이 아닌 값의 수가 테이블 크기에 따라 선형이라고 가정합니다. 정확한 개수는 예상 테이블 크기에 주어진 숫자의 절대값을 곱하여 계산됩니다. 예를 들어 -1 값은 열의 모든 값이 고유하다는 것을 의미하고, -0.5 값은 각 값이 평균에서 두 번 나타남을 의미합니다. 이는 쿼리 계획 시간까지 테이블의 행 수에 대한 곱셈이 수행되지 않으므로 시간이 지남에 따라 테이블 크기가 변경될 때 유용할 수 있습니다. 일반적으로 고유 값 수 추정으로 되돌리려면 값 0을 지정하십시오. 다음의 통계 사용에 대한 자세한 내용은포스트그레SQL쿼리 플래너, 참조토토 사이트 추천 _.
속성별 옵션을 변경하면 다음을 얻습니다.업데이트 독점 공유잠금.
저장소 설정 일반 | 외부 | 확장 | 메인 | 기본 #이 양식은 열의 저장 모드를 설정합니다. 이는 이 열이 인라인으로 유지되는지 보조 열로 유지되는지 제어합니다.토스트스포츠 토토 베트맨, 데이터 압축 여부.일반다음과 같은 고정 길이 값에 사용해야 합니다.정수인라인이며 압축되지 않았습니다.메인인라인 압축 가능한 데이터용입니다.외부압축되지 않은 외부 데이터용이며확장은 외부 압축 데이터용입니다. 글쓰기기본값저장 모드를 열의 데이터 유형에 대한 기본 모드로 설정합니다.확장는 비-를 지원하는 대부분의 데이터 유형에 대한 기본값입니다.일반저장. 의 사용외부아주 큰 규모의 하위 문자열 작업을 수행합니다텍스트그리고바이테아값은 저장 공간이 늘어나는 대신 더 빠르게 실행됩니다. 참고하세요스포츠 토토 베트맨 변경...저장소 설정그 자체로는 테이블의 어떤 것도 변경하지 않습니다. 단지 향후 테이블 업데이트 중에 추구할 전략을 설정하는 것뿐입니다. 보다섹션 66.2더 많은 정보를 원하시면.
압축 설정압축_방법 #이 양식은 열의 압축 방법을 설정하여 나중에 삽입된 값이 어떻게 압축될 것인지 결정합니다(저장 모드가 압축을 허용하는 경우). 이로 인해 테이블이 다시 작성되지 않으므로 기존 데이터가 다른 압축 방법으로 계속 압축될 수 있습니다. 테이블이 다음을 사용하여 복원된 경우pg_restore, 그러면 구성된 압축 방법으로 모든 값이 다시 작성됩니다. 그러나 다른 관계(예: by)에서 데이터가 삽입되는 경우삽입 ... 선택), 소스 테이블의 값은 반드시 삭제되지 않으므로 이전에 압축된 데이터는 대상 열의 압축 방법으로 다시 압축되지 않고 기존 압축 방법을 유지할 수 있습니다. 지원되는 압축 방법은 다음과 같습니다.pglz그리고lz4. (lz4다음의 경우에만 사용할 수 있습니다.--with-lz4빌드할 때 사용되었습니다PostgreSQL.) 또한,압축_방법될 수 있습니다기본값, 컨설팅의 기본 동작을 선택합니다.default_toast_compression데이터 삽입 시 사용할 방법을 결정하기 위해 설정합니다.
추가table_constraint[ 유효하지 않음 ] #이 양식은 동일한 제약 조건 구문을 사용하여 테이블에 새로운 제약 조건을 추가합니다.스포츠 토토 베트맨 생성, 추가 옵션유효하지 않음, 현재는 외래 키에만 허용됩니다.확인및 null이 아닌 제약 조건.
일반적으로 이 양식은 테이블을 스캔하여 테이블의 모든 기존 행이 새 제약 조건을 충족하는지 확인합니다. 하지만 만약에유효하지 않음옵션이 사용되면 시간이 오래 걸릴 수 있는 이 스캔을 건너뜁니다. 제약 조건은 후속 삽입 또는 업데이트에 대해 계속 적용됩니다. 즉, 외래 키의 경우 참조 테이블에 일치하는 행이 없으면 실패하거나 새 행이 지정된 검사 조건과 일치하지 않으면 실패합니다. 그러나 데이터베이스는 다음을 사용하여 유효성을 검사할 때까지 테이블의 모든 행에 대해 제약 조건이 적용된다고 가정하지 않습니다.제약조건 확인옵션. 보다참고사용에 대한 자세한 내용은 아래유효하지 않음옵션.
대부분의 형태는추가요구함table_constraint접속 독점잠금,외래 키 추가a만 필요함행 독점 공유잠금. 참고하세요외래 키 추가또한 다음을 획득행 독점 공유제약조건이 선언된 테이블에 대한 잠금 외에 참조된 테이블에 대한 잠금입니다.
분할된 테이블에 고유 또는 기본 키 제약 조건이 추가되면 추가 제한이 적용됩니다. 보다스포츠 토토 베트맨 생성.
추가table_constraint_using_index #이 양식은 새로운 내용을 추가합니다기본 키또는고유기존 고유 인덱스를 기반으로 한 테이블에 대한 제약입니다. 인덱스의 모든 열이 제약 조건에 포함됩니다.
인덱스는 표현식 열을 가질 수 없으며 부분 인덱스일 수도 없습니다. 또한 기본 정렬 순서가 있는 B-트리 인덱스여야 합니다. 이러한 제한 사항은 인덱스가 일반에 의해 생성되는 인덱스와 동일함을 보장합니다.기본 키 추가또는고유 추가명령.
만약기본 키이 지정되었으며 인덱스 열이 아직 표시되지 않았습니다.NULL이 아님, 그러면 이 명령은 다음을 시도합니다변경 열 설정이 NULL이 아님각 열에 대해. 열에 Null이 포함되어 있지 않은지 확인하려면 전체 테이블 스캔이 필요합니다. 다른 모든 경우에는 빠른 작업입니다.
제약조건 이름이 제공되면 인덱스 이름은 제약조건 이름과 일치하도록 변경됩니다. 그렇지 않으면 제약 조건의 이름이 인덱스와 동일하게 지정됩니다.
이 명령이 실행된 후 색인은“소유”제약에 의해, 인덱스가 일반에 의해 생성된 것과 같은 방식으로기본 키 추가또는고유 추가명령. 특히 제약 조건을 삭제하면 인덱스도 사라집니다.
이 형식은 현재 분할된 테이블에서 지원되지 않습니다.
기존 인덱스를 사용하여 제약 조건을 추가하면 오랫동안 테이블 업데이트를 차단하지 않고 새 제약 조건을 추가해야 하는 상황에서 도움이 될 수 있습니다. 그렇게 하려면 다음을 사용하여 인덱스를 생성하십시오.동시에 고유 인덱스 생성, 그런 다음 이 구문을 사용하여 제약 조건으로 변환합니다. 아래 예를 참조하세요.
제약조건 변경 #이 양식은 이전에 생성된 제약조건의 속성을 변경합니다. 현재는 외래 키 제약 조건만 이 방식으로 변경할 수 있지만 아래를 참조하세요.
제약조건 변경 ... 상속제약조건 변경 ... 상속 없음 #이러한 형식은 상속 가능한 제약 조건을 수정하여 상속할 수 없도록 하거나 그 반대의 경우도 마찬가지입니다. 현재는 null이 아닌 제약 조건만 이 방식으로 변경할 수 있습니다. 제약 조건의 상속성 상태를 변경하는 것 외에도 상속 불가능한 제약 조건이 상속 가능으로 표시되는 경우 테이블에 하위 항목이 있으면 동등한 제약 조건이 추가됩니다. 자식이 있는 테이블에서 상속 가능한 제약 조건을 상속 불가능으로 표시하는 경우 자식에 대한 해당 제약 조건은 더 이상 상속되지 않는 것으로 표시되지만 제거되지는 않습니다.
제약조건 확인 #이 양식은 이전에 다음과 같이 생성된 외래 키, 검사 또는 null이 아닌 제약 조건을 검증합니다.유효하지 않음, 테이블을 스캔하여 제약 조건을 충족하지 않는 행이 없는지 확인합니다. 제약 조건이 다음으로 설정된 경우시행되지 않음, 오류가 발생합니다. 제약조건이 이미 유효하다고 표시되어 있으면 아무 일도 일어나지 않습니다. (보다참고이 명령의 유용성에 대한 설명은 아래를 참조하세요.)
이 명령은 다음을 획득합니다.업데이트 독점 공유잠금.
제약조건 삭제 [ 존재하는 경우 ] #이 양식은 제약 조건의 기본 인덱스와 함께 테이블에 지정된 제약 조건을 삭제합니다. 만약에존재하는 경우이 지정되었지만 제약 조건이 존재하지 않으면 오류가 발생하지 않습니다. 이 경우 대신 통지가 발행됩니다.
비활성화/[복제본 활성화 | 항상 ] 트리거 #이 양식은 테이블에 속한 트리거의 실행을 구성합니다. 비활성화된 트리거는 여전히 시스템에 알려져 있지만 트리거 이벤트가 발생할 때 실행되지 않습니다. (지연된 트리거의 경우 트리거 함수가 실제로 실행될 때가 아니라 이벤트가 발생할 때 활성화 상태가 확인됩니다.) 이름으로 지정된 단일 트리거, 테이블의 모든 트리거 또는 사용자 트리거만 비활성화하거나 활성화할 수 있습니다(이 옵션은 외래 키 제약 조건 또는 지연 가능한 고유성 및 제외 제약 조건을 구현하는 데 사용되는 것과 같이 내부적으로 생성된 제약 조건 트리거를 제외합니다). 내부적으로 생성된 제약 조건 트리거를 비활성화하거나 활성화하려면 수퍼유저 권한이 필요합니다. 물론 트리거가 실행되지 않으면 제약 조건의 무결성을 보장할 수 없으므로 주의해서 수행해야 합니다.
트리거 실행 메커니즘도 구성 변수의 영향을 받습니다.session_replication_role. 복제 역할이 다음과 같을 때 간단히 활성화된 트리거(기본값)가 실행됩니다.“원산지”(기본값) 또는“현지”. 다음과 같이 구성된 트리거복제본 활성화세션이 켜져 있는 경우에만 실행됩니다.“복제본”모드 및 다음과 같이 구성된 트리거항상 활성화현재 복제 역할에 관계없이 실행됩니다.
이 메커니즘의 효과는 기본 구성에서 트리거가 복제본에서 실행되지 않는다는 것입니다. 이는 테이블 간에 데이터를 전파하기 위해 원본에서 트리거가 사용되는 경우 복제 시스템도 전파된 데이터를 복제하기 때문에 유용합니다. 따라서 중복이 발생할 수 있으므로 트리거가 복제본에서 두 번째로 실행되어서는 안 됩니다. 그러나 트리거가 외부 경고 생성과 같은 다른 목적으로 사용되는 경우 다음과 같이 설정하는 것이 적절할 수 있습니다.항상 활성화복제본에서도 실행됩니다.
이 명령이 파티션된 테이블에 적용되면 파티션의 해당 복제 트리거 상태도 업데이트됩니다.만지정되었습니다.
이 명령은 다음을 획득합니다.행 독점 공유잠금.
비활성화/[복제본 활성화 | 항상 ] 규칙 #이 양식은 테이블에 속한 다시 쓰기 규칙의 실행을 구성합니다. 비활성화된 규칙은 여전히 시스템에 알려져 있지만 쿼리 재작성 중에는 적용되지 않습니다. 의미론은 비활성화/활성화된 트리거와 같습니다. 이 구성은 다음에 대해 무시됩니다.선택 중현재 세션이 기본이 아닌 복제 역할에 있더라도 뷰가 계속 작동하도록 항상 적용되는 규칙입니다.
규칙 실행 메커니즘은 구성 변수의 영향도 받습니다.session_replication_role, 위에서 설명한 트리거와 유사합니다.
비활성화/행 수준 보안 활성화 #이 양식은 테이블에 속한 행 보안 정책의 적용을 제어합니다. 활성화되어 있고 테이블에 대한 정책이 없으면 기본 거부 정책이 적용됩니다. 행 수준 보안이 비활성화된 경우에도 테이블에 대한 정책이 존재할 수 있습니다. 이 경우 정책은 다음과 같습니다.아님적용되고 정책은 무시됩니다. 또한 참조하세요정책 작성.
강제 금지/강제 행 수준 보안 #이 양식은 사용자가 테이블 소유자일 때 테이블에 속한 행 보안 정책의 적용을 제어합니다. 활성화되면 사용자가 테이블 소유자일 때 행 수준 보안 정책이 적용됩니다. 비활성화된 경우(기본값) 사용자가 테이블 소유자일 때 행 수준 보안이 적용되지 않습니다. 또한 참조하세요정책 생성.
클러스터 켜짐 #이 양식은 미래를 위한 기본 색인을 선택합니다클러스터작업. 실제로 테이블을 다시 클러스터링하지는 않습니다.
클러스터 옵션을 변경하면 다음을 얻습니다.업데이트 독점 공유잠금.
클러스터 없이 설정 #이 양식은 가장 최근에 사용한 항목을 삭제합니다.클러스터테이블의 인덱스 사양입니다. 이는 색인을 지정하지 않는 향후 클러스터 작업에 영향을 미칩니다.
클러스터 옵션을 변경하면 다음을 얻습니다.업데이트 독점 공유잠금.
OIDS 없이 설정 #제거를 위한 이전 버전과 호환되는 구문oid시스템 열. 처럼oid시스템 열을 더 이상 추가할 수 없습니다. 이는 효과가 없습니다.
액세스 방법 설정 #이 양식은 표시된 액세스 방법을 사용하여 스포츠 토토 베트맨을 다시 작성하여 스포츠 토토 베트맨의 액세스 방법을 변경합니다. 지정기본값다음으로 설정된 액세스 방법을 선택합니다.default_table_access_method구성 매개변수. 보다PostgreSQL : 문서 : 17 : 61 장. 테이블 윈 토토 방법 인터페이스 정의더 많은 정보를 원하시면.
파티션된 스포츠 토토 베트맨에 적용하면 다시 쓸 데이터가 없지만 나중에 생성된 파티션은 a에 의해 재정의되지 않는 한 기본적으로 지정된 액세스 방법을 사용하게 됩니다.사용 중절. 지정기본값이전 값을 제거하여 향후 파티션의 기본값을 다음으로 설정합니다.default_table_access_method.
스포츠 토토 베트맨스페이스 설정 #이 양식은 테이블의 스포츠 토토 베트맨스페이스를 지정된 스포츠 토토 베트맨스페이스로 변경하고 테이블과 관련된 데이터 파일을 새 스포츠 토토 베트맨스페이스로 이동합니다. 테이블의 인덱스가 있는 경우 이동되지 않습니다. 하지만 추가로 별도로 이동할 수 있습니다.스포츠 토토 베트맨스페이스 설정명령. 파티션을 나눈 테이블에 적용하면 아무 것도 이동되지 않지만 나중에 다음을 사용하여 생성된 모든 파티션은스포츠 토토 베트맨 파티션 생성a에 의해 재정의되지 않는 한 해당 스포츠 토토 베트맨스페이스를 사용합니다.스포츠 토토 베트맨스페이스절.
스포츠 토토 베트맨스페이스에 있는 현재 데이터베이스의 모든 테이블은 다음을 사용하여 이동할 수 있습니다.스포츠 토토 베트맨스페이스의 모든 것양식은 먼저 이동할 모든 테이블을 잠근 다음 각 테이블을 이동합니다. 이 양식은 또한 다음을 지원합니다.소유자, 지정된 역할이 소유한 테이블만 이동합니다. 만약NOWAIT옵션이 지정된 경우 필요한 모든 잠금을 즉시 획득할 수 없으면 명령이 실패합니다. 시스템 카탈로그는 이 명령으로 이동되지 않습니다. 사용데이터베이스 변경또는 명시적스포츠 토토 베트맨 변경55051_55090information_schema관계는 시스템 카탈로그의 일부로 간주되지 않으며 이동됩니다. 또한 참조하세요스포츠 토토 베트맨스페이스 생성.
설정 기록됨 | 기록되지 않음 #이 양식은 테이블을 기록되지 않은 상태에서 기록된 상태로 또는 그 반대로 변경합니다(참조기록되지 않음). 임시 스포츠 토토 베트맨에는 적용할 수 없습니다.
이것은 또한 테이블에 연결된 모든 시퀀스의 지속성을 변경합니다(ID 또는 직렬 열의 경우). 그러나 해당 시퀀스의 지속성을 별도로 변경하는 것도 가능합니다.
이 형식은 분할된 테이블에서는 지원되지 않습니다.
설정(storage_parameter [= 값] [, ... ] ) #이 양식은 스포츠 토토 베트맨에 대한 하나 이상의 저장 매개변수를 변경합니다. 보다저장소 매개변수에서스포츠 토토 베트맨 생성56791_57041진공이 가득 참, 클러스터또는 다음 형식 중 하나스포츠 토토 베트맨 변경테이블을 강제로 다시 작성합니다. 플래너 관련 매개변수의 경우 변경사항은 다음번에 테이블이 잠길 때부터 적용되므로 현재 실행 중인 쿼리에는 영향을 미치지 않습니다.
업데이트 독점 공유fillfactor, toast 및 autovacuum 저장 매개변수와 planner 매개변수에 대해 잠금이 수행됩니다.parallel_workers.
재설정(storage_parameter [, ... ] ) #이 양식은 하나 이상의 저장 매개변수를 기본값으로 재설정합니다. 마찬가지로SET, 테이블을 완전히 업데이트하려면 테이블 재작성이 필요할 수 있습니다.
상속parent_table #이 양식은 대상 테이블을 지정된 상위 테이블의 새 하위로 추가합니다. 이후 상위 테이블에 대한 쿼리에는 대상 테이블의 레코드가 포함됩니다. 하위로 추가하려면 대상 테이블에 상위 테이블과 동일한 열이 이미 모두 포함되어 있어야 합니다(추가 열도 있을 수 있음). 열에는 일치하는 데이터 유형이 있어야 합니다.
또한, 모두확인그리고NULL이 아님상속 불가능으로 표시된 제약 조건을 제외하고 부모 제약 조건은 자식에도 존재해야 합니다(즉, 다음으로 생성됨스포츠 토토 베트맨 변경 ... 제약 조건 추가 ... 상속 없음), 이는 무시됩니다. 일치하는 모든 하위 테이블 제약 조건은 상속 불가능으로 표시되어서는 안 됩니다. 현재고유, 기본 키및외래 키제약조건은 고려되지 않지만 향후 변경될 수 있습니다.
상속 없음parent_table #이 양식은 지정된 상위 테이블의 하위 목록에서 대상 테이블을 제거합니다. 상위 테이블에 대한 쿼리에는 더 이상 대상 테이블에서 가져온 레코드가 포함되지 않습니다.
OF유형_이름 #이 양식은 스포츠 토토 베트맨을 복합 유형에 연결합니다.스포츠 토토 베트맨 생성그것을 형성했습니다. 테이블의 열 이름 및 유형 목록은 복합 유형의 목록과 정확하게 일치해야 합니다. 테이블은 다른 테이블에서 상속되어서는 안 됩니다. 이러한 제한 사항은 다음을 보장합니다.스포츠 토토 베트맨 생성동등한 스포츠 토토 베트맨 정의를 허용합니다.
NOT #이 형식은 유형이 지정된 스포츠 토토 베트맨과 해당 유형을 분리합니다.
소유자: #이 양식은 테이블, 시퀀스, 뷰, 구체화된 뷰 또는 외부 테이블의 소유자를 지정된 사용자로 변경합니다.
복제본 ID #이 양식은 업데이트되거나 삭제된 행을 식별하기 위해 미리 쓰기 로그에 기록되는 정보를 변경합니다. 대부분의 경우 각 열의 이전 값은 새 값과 다른 경우에만 기록됩니다. 그러나 이전 값이 외부에 저장되면 변경 여부에 관계없이 항상 기록됩니다. 이 옵션은 논리적 복제가 사용 중인 경우를 제외하고는 효과가 없습니다.
기본값 #기본 키 열의 이전 값을 기록합니다. 이는 비시스템 테이블의 기본값입니다. 기본 키가 없으면 동작은 다음과 같습니다.아무것도 없음.
색인 사용 중색인_이름 #명명된 인덱스가 포함하는 열의 이전 값을 기록합니다. 이 인덱스는 고유해야 하고, 부분적이지 않고, 연기할 수 없으며 표시된 열만 포함해야 합니다.NULL이 아님. 이 인덱스가 삭제되면 동작은 다음과 같습니다.아무것도 없음.
전체 #행에 있는 모든 열의 이전 값을 기록합니다.
아무것도 #이전 행에 대한 정보를 기록하지 않습니다. 이는 시스템 테이블의 기본값입니다.
RENAME #그RENAME양식은 테이블(또는 인덱스, 시퀀스, 뷰, 구체화된 뷰 또는 외부 테이블)의 이름, 테이블의 개별 열 이름 또는 테이블의 제약 조건 이름을 변경합니다. 기본 인덱스가 있는 제약 조건의 이름을 바꾸면 인덱스 이름도 변경됩니다. 저장된 데이터에는 영향이 없습니다.
스키마 설정 #이 양식은 테이블을 다른 스키마로 이동합니다. 테이블 열이 소유한 관련 인덱스, 제약 조건, 시퀀스도 이동됩니다.
파티션 연결파티션_이름가치의 경우partition_bound_spec| 기본 #이 양식은 기존 테이블(자체 분할되었을 수 있음)을 대상 테이블의 파티션으로 연결합니다. 테이블은 다음을 사용하여 특정 값에 대한 파티션으로 연결할 수 있습니다.가치의 경우또는 다음을 사용하여 기본 파티션으로기본값. 대상 테이블의 각 인덱스에 대해 연결된 테이블에 해당 인덱스가 생성됩니다. 또는 동등한 인덱스가 이미 존재하는 경우 다음과 같이 대상 테이블의 인덱스에 연결됩니다.인덱스 첨부 파티션 변경실행되었습니다. 기존 테이블이 외부 테이블인 경우 현재 테이블을 대상 테이블의 파티션으로 연결할 수 없습니다.고유대상 테이블의 인덱스입니다. (또한 참조외부 스포츠 토토 베트맨 생성.) 대상 스포츠 토토 베트맨에 존재하는 각 사용자 정의 행 수준 트리거에 대해 해당 트리거가 연결된 스포츠 토토 베트맨에 생성됩니다.
다음을 사용하는 파티션가치의 경우동일한 구문을 사용합니다partition_bound_specas스포츠 토토 베트맨 생성. 파티션 바운드 사양은 대상 테이블의 파티션 전략 및 파티션 키와 일치해야 합니다. 첨부할 테이블에는 대상 테이블과 동일한 열이 모두 있어야 하며 그 이상은 없어야 합니다. 또한 열 유형도 일치해야 합니다. 또한 다음을 모두 포함해야 합니다.NULL이 아님그리고확인대상 스포츠 토토 베트맨의 제약 조건, 표시되지 않음상속 없음. 현재외래 키제약조건은 고려되지 않습니다.고유그리고기본 키상위 테이블의 제약 조건이 아직 존재하지 않는 경우 파티션에 생성됩니다.
새 파티션이 일반 테이블인 경우 전체 테이블 스캔을 수행하여 테이블의 기존 행이 파티션 제약 조건을 위반하지 않는지 확인합니다. 유효한를 추가하면 이 스캔을 피할 수 있습니다.확인이 명령을 실행하기 전에 원하는 파티션 제약 조건을 충족하는 행만 허용하는 스포츠 토토 베트맨 제약 조건입니다. 그만큼확인제약 조건은 파티션 제약 조건을 검증하기 위해 테이블을 스캔할 필요가 없는지 결정하는 데 사용됩니다. 그러나 파티션 키 중 하나가 표현식이고 파티션이 허용하지 않는 경우에는 작동하지 않습니다.NULL값. 허용되지 않는 목록 파티션을 연결하는 경우NULL값, 또한 추가NULL이 아님식이 아닌 경우 파티션 키 열에 대한 제약 조건입니다.
새 파티션이 외부 테이블인 경우, 외부 테이블의 모든 행이 파티션 제약 조건을 준수하는지 확인하기 위해 아무 작업도 수행되지 않습니다. (다음 토론 참조외부 스포츠 토토 베트맨 생성외부 테이블의 제약 조건에 대해.)
테이블에 기본 파티션이 있는 경우 새 파티션을 정의하면 기본 파티션에 대한 파티션 제약 조건이 변경됩니다. 기본 파티션에는 새 파티션으로 이동해야 하는 행이 포함될 수 없으며 행이 없는지 확인하기 위해 스캔됩니다. 적절한 경우 새 파티션 검색과 마찬가지로 이 검색을 피할 수 있습니다.확인제약조건이 존재합니다. 또한 새 파티션 스캔과 마찬가지로 기본 파티션이 외부 테이블인 경우 항상 건너뜁니다.
파티션을 연결하면 다음을 얻습니다.업데이트 독점 공유다음에 추가로 상위 테이블 잠금접속 독점연결되는 스포츠 토토 베트맨과 기본 파티션(있는 경우)을 잠급니다.
연결되는 테이블 자체가 분할된 테이블인 경우 모든 하위 파티션에 추가 잠금을 유지해야 합니다. 마찬가지로 기본 파티션 자체가 파티션된 테이블인 경우에도 마찬가지입니다. 다음을 추가하면 하위 파티션의 잠금을 피할 수 있습니다.확인설명된 제약조건섹션 5.12.2.2.
파티션 분리파티션_이름[ 동시 | 마무리 ] #이 양식은 대상 테이블의 지정된 파티션을 분리합니다. 분리된 파티션은 독립형 테이블로 계속 존재하지만 분리된 테이블과 더 이상 연결되지 않습니다. 대상 테이블의 인덱스에 연결된 모든 인덱스가 분리됩니다. 대상 테이블에 있는 트리거의 복제본으로 생성된 모든 트리거가 제거됩니다.공유외래 키 제약 조건에서 이 분할된 테이블을 참조하는 모든 테이블에 대해 잠금이 획득됩니다.
만약동시이 지정되면 분할된 테이블에 액세스할 수 있는 다른 세션을 차단하지 않도록 감소된 잠금 수준을 사용하여 실행됩니다. 이 모드에서는 두 개의 트랜잭션이 내부적으로 사용됩니다. 첫 번째 거래 동안, a업데이트 독점 공유상위 테이블과 파티션 모두에 잠금이 설정되고 파티션은 분리 중인 것으로 표시됩니다. 이 시점에서 트랜잭션이 커밋되고 분할된 테이블을 사용하는 다른 모든 트랜잭션이 대기됩니다. 모든 거래가 완료되면 두 번째 거래가 획득됩니다.업데이트 독점 공유파티션된 테이블에 그리고접속 독점파티션에 있고 분리 프로세스가 완료됩니다. 에이확인파티션 제약 조건과 중복되는 제약 조건이 파티션에 추가됩니다.동시트랜잭션 블록에서 실행할 수 없으며 분할된 테이블에 기본 파티션이 포함된 경우 허용되지 않습니다.
만약최종화지정됨, 이전동시에 분리취소되거나 중단된 호출이 완료되었습니다. 분할된 테이블에서 한 번에 최대 하나의 파티션이 분리 보류될 수 있습니다.
모든 형태의스포츠 토토 베트맨 변경단일 테이블에서 작동하지만이름 변경, 스키마 설정, 파티션 연결및파티션 분리함께 적용할 여러 변경 사항 목록으로 결합할 수 있습니다. 예를 들어, 단일 명령으로 여러 열을 추가하거나 여러 열의 유형을 변경할 수 있습니다. 테이블 위를 한 번만 통과하면 되기 때문에 이는 큰 테이블에 특히 유용합니다.
사용하려면 테이블을 소유해야 합니다.스포츠 토토 베트맨 변경. 테이블의 스키마나 스포츠 토토 베트맨스페이스를 변경하려면 다음도 필요합니다.만들기새 스키마 또는 스포츠 토토 베트맨스페이스에 대한 권한. 테이블을 상위 테이블의 새 하위 테이블로 추가하려면 상위 테이블도 소유해야 합니다. 또한 테이블을 테이블의 새 파티션으로 연결하려면 연결되는 테이블을 소유해야 합니다. 소유자를 변경하려면 다음을 수행할 수 있어야 합니다.역할 설정새로운 소유 역할로 변경해야 하며 해당 역할에는 다음이 있어야 합니다.만들기테이블 스키마에 대한 권한. (이러한 제한 사항은 소유자 변경이 테이블을 삭제하고 다시 생성하여 수행할 수 없는 작업을 수행하지 않도록 강제합니다. 그러나 수퍼유저는 어쨌든 모든 테이블의 소유권을 변경할 수 있습니다.) 열을 추가하거나 열 유형을 변경하거나 다음을 사용하려면OF절, 다음도 있어야 합니다.사용데이터 유형에 대한 권한입니다.
존재하는 경우 #테이블이 존재하지 않는 경우 오류를 발생시키지 마십시오. 이 경우 통지가 발행됩니다.
이름 #변경할 기존 테이블의 이름(선택적으로 스키마 한정). 만약에만73905_73975만이 지정되지 않으면 스포츠 토토 베트맨과 모든 하위 스포츠 토토 베트맨(있는 경우)이 변경됩니다. 선택적으로,*테이블 이름 뒤에 지정하여 하위 테이블이 포함되어 있음을 명시적으로 나타낼 수 있습니다.
열_이름 #새 열 또는 기존 열의 이름.
new_column_name #기존 열의 새 이름.
new_name #테이블의 새 이름입니다.
데이터_유형 #새 열의 데이터 유형 또는 기존 열의 새 데이터 유형.
table_constraint #스포츠 토토 베트맨에 대한 새로운 스포츠 토토 베트맨 제약 조건.
제약조건_이름 #새 제약조건 또는 기존 제약조건의 이름.
캐스케이드 #삭제된 열 또는 제약 조건(예: 열을 참조하는 뷰)에 의존하는 객체를 자동으로 삭제하고 해당 객체에 의존하는 모든 객체를 자동으로 삭제합니다(참조PostgreSQL : 문서 : 17 : 5.15. 토토 사이트 추천성 추적).
제한 #종속 개체가 있는 경우 열이나 제약 조건 삭제를 거부하십시오. 이것이 기본 동작입니다.
trigger_name #비활성화하거나 활성화할 단일 트리거의 이름.
전체 #테이블에 속한 모든 트리거를 비활성화하거나 활성화합니다. (외부 키 제약 조건이나 지연 가능한 고유성 및 제외 제약 조건을 구현하는 데 사용되는 것과 같이 트리거가 내부적으로 생성된 제약 조건 트리거인 경우 수퍼유저 권한이 필요합니다.)
사용자 #외래 키 제약 조건이나 지연 가능한 고유성 및 제외 제약 조건을 구현하는 데 사용되는 것과 같이 내부적으로 생성된 제약 조건 트리거를 제외하고 테이블에 속하는 모든 트리거를 비활성화하거나 활성화합니다.
색인_이름 #기존 색인의 이름.
storage_parameter #테이블 저장 매개변수의 이름.
값 #테이블 저장 매개변수의 새 값. 매개변수에 따라 숫자 또는 단어일 수 있습니다.
parent_table #이 스포츠 토토 베트맨과 연결하거나 연결 해제할 상위 스포츠 토토 베트맨입니다.
new_owner #테이블의 새로운 소유자의 사용자 이름.
new_access_method #테이블이 변환될 액세스 방법의 이름.
new_tablespace #테이블이 이동될 스포츠 토토 베트맨스페이스의 이름.
new_schema #테이블이 이동될 스키마의 이름.
파티션_이름 #새 파티션으로 연결하거나 이 테이블에서 분리할 테이블의 이름입니다.
partition_bound_spec #새 파티션에 대한 파티션 바운드 사양입니다. 참조스포츠 토토 베트맨 생성동일한 구문에 대한 자세한 내용은.
핵심 단어열잡음이므로 생략 가능합니다.
열이 다음으로 추가될 때열 추가및 비휘발성기본값이 지정되면 명령문 실행 시 기본값이 평가되고 결과는 테이블의 메타데이터에 저장되며 기존 행에 액세스할 때 반환됩니다. 값은 테이블을 다시 작성할 때만 적용되므로스포츠 토토 베트맨 변경큰 테이블에서도 매우 빠릅니다. 열 제약 조건이 지정되지 않으면 NULL이로 사용됩니다.기본값. 두 경우 모두 스포츠 토토 베트맨을 다시 작성해야 합니다.
휘발성이 있는 열 추가기본값(예:시계_타임스탬프()), 저장된 생성 열, ID 열 또는 제약 조건이 있는 도메인 데이터 형식의 열로 인해 전체 테이블과 해당 인덱스가 다시 작성됩니다. 가상 생성 열을 추가하는 데는 다시 작성할 필요가 없습니다.
기존 열의 유형을 변경하면 일반적으로 전체 테이블과 해당 인덱스가 다시 작성됩니다. 예외적으로 기존 컬럼의 유형을 변경할 때,사용 중절은 열 내용을 변경하지 않으며 이전 유형은 새 유형으로 바이너리 강제 변환 가능하거나 새 유형에 대한 제한이 없는 도메인이므로 테이블 다시 쓰기가 필요하지 않습니다. 그러나 시스템에서 새 인덱스가 기존 인덱스와 논리적으로 동일하다는 것을 확인할 수 없으면 인덱스는 계속 재구축됩니다. 예를 들어 열의 데이터 정렬이 변경된 경우 새 정렬 순서가 다를 수 있으므로 인덱스를 다시 작성해야 합니다. 그러나 데이터 정렬 변경이 없으면 열은 다음에서 변경될 수 있습니다.텍스트에varchar(또는 그 반대로) 이러한 데이터 유형은 동일하게 정렬되므로 인덱스를 다시 작성하지 않습니다.
테이블 및/또는 인덱스 재구축은 큰 테이블의 경우 상당한 시간이 걸릴 수 있으며 일시적으로 두 배의 디스크 공간이 필요합니다.
추가확인또는NULL이 아님제약조건은 기존 행이 제약조건을 충족하는지 확인하기 위해 테이블을 스캔해야 하지만 테이블을 다시 작성할 필요는 없습니다. 만약에확인제약조건이 다음과 같이 추가됩니다.시행되지 않음, 확인이 수행되지 않습니다.
마찬가지로, 새 파티션을 연결할 때 기존 행이 파티션 제약 조건을 충족하는지 확인하기 위해 스캔할 수 있습니다.
한 번에 여러 변경 사항을 지정하는 옵션을 제공하는 주된 이유스포츠 토토 베트맨 변경이는 여러 테이블 스캔 또는 재작성이 테이블에 대한 단일 패스로 결합될 수 있다는 것입니다.
새 외래 키, 검사 또는 null이 아닌 제약 조건을 확인하기 위해 큰 테이블을 스캔하는 데 시간이 오래 걸릴 수 있으며 테이블에 대한 다른 업데이트는 다음이 될 때까지 잠깁니다.스포츠 토토 베트맨 변경 제약조건 추가명령이 커밋되었습니다. 의 주요 목적은유효하지 않음제약 옵션은 동시 업데이트에 대한 제약 추가의 영향을 줄이는 것입니다. 와 함께유효하지 않음, 그제약조건 추가명령은 테이블을 스캔하지 않으며 즉시 커밋될 수 있습니다. 그 후, 가제약조건 확인명령을 실행하여 기존 행이 제약 조건을 충족하는지 확인할 수 있습니다. 유효성 검사 단계에서는 다른 트랜잭션이 삽입하거나 업데이트하는 행에 대한 제약 조건을 적용한다는 것을 알고 있으므로 동시 업데이트를 잠글 필요가 없습니다. 기존 행만 확인하면 됩니다. 따라서 검증은 a만 획득합니다.업데이트 독점 공유변경되는 테이블을 잠급니다. (제약조건이 외래 키인 경우 a행 공유제약조건에서 참조하는 테이블에도 잠금이 필요합니다.) 동시성을 향상시키는 것 외에도 다음을 사용하는 것이 유용할 수 있습니다.유효하지 않음그리고제약조건 확인테이블에 기존 위반 사항이 포함된 것으로 알려진 경우. 제약 조건이 적용되면 새로운 위반 사항을 삽입할 수 없으며 기존 문제는 여유 시간에 수정될 수 있습니다.제약조건 확인드디어 성공했습니다.
그열 삭제form은 열을 물리적으로 제거하지 않고 단순히 SQL 작업에 보이지 않게 만듭니다. 테이블의 후속 삽입 및 업데이트 작업에서는 해당 열에 Null 값이 저장됩니다. 따라서 열 삭제는 빠르지만 삭제된 열이 차지한 공간이 회수되지 않으므로 테이블의 디스크 크기가 즉시 줄어들지는 않습니다. 시간이 지남에 따라 기존 행이 업데이트되면서 공간이 회수됩니다.
삭제된 열이 차지하는 공간을 강제로 즉시 회수하려면 다음 형식 중 하나를 실행할 수 있습니다.스포츠 토토 베트맨 변경전체 테이블을 다시 작성합니다. 이로 인해 삭제된 열이 null 값으로 대체되어 각 행이 재구성됩니다.
재작성 형식스포츠 토토 베트맨 변경MVCC에 안전하지 않습니다. 테이블 재작성 후 테이블은 재작성이 발생하기 전에 생성된 스냅샷을 사용하는 경우 동시 트랜잭션에 비어 있는 것으로 나타납니다. 보다토토 꽁 머니 : 문서 : 17 : 13.6. 경고자세한 내용은.
그사용 중옵션데이터 유형 설정실제로 행의 이전 값과 관련된 모든 표현식을 지정할 수 있습니다. 즉, 변환 중인 열뿐만 아니라 다른 열도 참조할 수 있습니다. 이를 통해 매우 일반적인 변환을 수행할 수 있습니다.데이터 유형 설정구문. 이러한 유연성으로 인해,사용 중표현식은 열의 기본값(있는 경우)에 적용되지 않습니다. 결과는 기본값에 필요한 상수 표현식이 아닐 수도 있습니다. 이는 이전 유형에서 새 유형으로의 암시적 또는 할당 캐스트가 없는 경우를 의미합니다.데이터 유형 설정다음에도 불구하고 기본값을 변환하지 못할 수 있습니다.사용 중절이 제공되었습니다. 이러한 경우에는 다음을 사용하여 기본값을 삭제하세요.기본값 삭제, 다음을 수행하세요변경 유형, 그리고 다음을 사용하세요기본값으로 설정적절한 새 기본값을 추가합니다. 열과 관련된 인덱스 및 제약 조건에도 유사한 고려 사항이 적용됩니다.
테이블에 하위 테이블이 있는 경우 하위 테이블에 동일한 작업을 수행하지 않고는 상위 테이블의 열 유형을 추가, 이름 변경 또는 변경하는 것이 허용되지 않습니다. 이렇게 하면 하위 항목이 항상 상위 항목과 일치하는 열을 갖게 됩니다. 마찬가지로, a확인제약조건은 모든 하위 항목에서 이름을 바꾸지 않고는 상위에서 이름을 바꿀 수 없으므로확인제약조건은 상위와 하위 항목 사이에서도 일치합니다. (그러나 해당 제한은 인덱스 기반 제약 조건에는 적용되지 않습니다.) 또한 상위 항목에서 선택하면 해당 하위 항목에서도 선택되므로 상위 항목에 대한 제약 조건은 해당 하위 항목에 대해서도 유효하다고 표시되지 않는 한 유효하다고 표시될 수 없습니다. 이 모든 경우에,스포츠 토토 베트맨만 변경거부됩니다.
재귀적열 삭제작업은 하위 항목이 다른 상위 항목으로부터 해당 열을 상속받지 않고 해당 열에 대한 독립적인 정의를 갖지 않은 경우에만 하위 테이블의 열을 제거합니다. 비재귀적열 삭제(즉,스포츠 토토 베트맨만 변경...열 삭제)는 하위 열을 제거하지 않고 대신 상속되지 않고 독립적으로 정의된 것으로 표시합니다. 비재귀적열 삭제스포츠 토토 베트맨의 모든 파티션은 파티션 루트와 동일한 열을 가져야 하기 때문에 파티션된 스포츠 토토 베트맨에 대해서는 명령이 실패합니다.
ID 열에 대한 작업(추가 생성됨, 세트등,ID 삭제) 및 작업클러스터, 소유자및스포츠 토토 베트맨스페이스절대로 하위 테이블로 재귀하지 않습니다. 즉, 그들은 항상 마치처럼 행동합니다만지정되었습니다. 트리거 상태에 영향을 미치는 작업은 파티션을 나눈 테이블의 파티션으로 반복됩니다.만가 지정됨), 그러나 전통 상속 자손에게는 적용되지 않습니다. 제약 조건 추가는 다음 경우에만 반복됩니다.확인표시되지 않은 제약조건상속 없음.
시스템 카탈로그 스포츠 토토 베트맨의 어떤 부분도 변경하는 것은 허용되지 않습니다.
참조스포츠 토토 베트맨 생성유효한 매개변수에 대한 추가 설명을 참조하세요.메이저 토토 사이트 : 문서 : 17 : 5 장 데이터 정의상속에 대한 추가 정보가 있습니다.
다음 유형의 열을 추가하려면varchar스포츠 토토 베트맨에:
ALTER TABLE 배포자 ADD COLUMN 주소 varchar(30);
이렇게 하면 스포츠 토토 베트맨의 모든 기존 행이 새 열에 대해 null 값으로 채워지게 됩니다.
널이 아닌 기본값을 가진 열을 추가하려면:
ALTER TABLE 측정값 시간대가 DEFAULT인 COLUMN mtime 타임스탬프를 추가하세요();
기존 행은 새 열의 값으로 현재 시간으로 채워지고 새 행은 삽입 시간을 받게 됩니다.
열을 추가하고 나중에 사용할 기본값과 다른 값으로 채우려면:
ALTER TABLE 트랜잭션 ADD COLUMN 상태 varchar(30) DEFAULT '이전', ALTER COLUMN 상태 SET 기본값 '현재';
기존 행은 다음으로 채워질 것입니다.오래된, 그러나 후속 명령의 기본값은현재. 두 하위 명령을 별도로 실행한 것과 효과는 동일합니다.스포츠 토토 베트맨 변경명령.
테이블에서 열을 삭제하려면:
ALTER TABLE 배포자 DROP COLUMN 주소 RESTRICT;
한 번의 작업으로 두 개의 기존 열 유형을 변경하려면:
ALTER TABLE 배포자
ALTER COLUMN 주소 TYPE varchar(80),
ALTER COLUMN 이름 TYPE varchar(100);
Unix 타임스탬프를 포함하는 정수 열을 다음으로 변경하려면시간대가 포함된 타임스탬프경유사용 중절:
ALTER TABLE foo
ALTER COLUMN foo_timestamp SET DATA TYPE 시간대가 포함된 타임스탬프
사용
시간대가 'epoch'인 타임스탬프 + foo_timestamp * 간격 '1초';
열에 새 데이터 유형으로 자동 변환되지 않는 기본 표현식이 있는 경우에도 마찬가지입니다.
ALTER TABLE foo
ALTER COLUMN foo_timestamp DROP DEFAULT,
ALTER COLUMN foo_timestamp TYPE 시간대가 포함된 타임스탬프
사용
시간대가 'epoch'인 타임스탬프 + foo_timestamp * 간격 '1초',
ALTER COLUMN foo_timestamp SET DEFAULT now();
기존 열의 이름을 바꾸려면:
ALTER TABLE 배포자 RENAME COLUMN 주소 TO 도시;
기존 테이블의 이름을 바꾸려면:
ALTER TABLE 유통업체 이름을 공급업체로 변경;
기존 제약조건의 이름을 바꾸려면:
ALTER TABLE 배포자 RENAME CONSTRAINT zipchk TO zip_check;
열에 null이 아닌 제약 조건을 추가하려면:
ALTER TABLE 배포자 ALTER COLUMN street SET NOT NULL;
열에서 null이 아닌 제약 조건을 제거하려면:
ALTER TABLE 배포자 ALTER COLUMN street DROP NOT NULL;
테이블과 모든 하위 항목에 검사 제약 조건을 추가하려면:
ALTER TABLE 배포자 ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
검사 제약조건을 테이블에만 추가하고 하위 항목에는 추가하지 않으려면:
ALTER TABLE 배포자 ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5) NO INHERIT;
(검사 제약 조건은 미래의 자녀에게도 상속되지 않습니다.)
테이블과 모든 하위 항목에서 검사 제약 조건을 제거하려면:
ALTER TABLE 배포자 DROP CONSTRAINT zipchk;
하나의 테이블에서만 검사 제약 조건을 제거하려면:
ALTER TABLE ONLY 배포자 DROP CONSTRAINT zipchk;
(모든 하위 스포츠 토토 베트맨에 대해 검사 제약 조건이 그대로 유지됩니다.)
테이블에 외래 키 제약 조건을 추가하려면:
ALTER TABLE 배포자 ADD CONSTRAINT distfk FOREIGN KEY (주소) REFERENCES 주소 (주소);
다른 작업에 최소한의 영향을 미치면서 테이블에 외래 키 제약 조건을 추가하려면:
ALTER TABLE 배포자 ADD CONSTRAINT distfk FOREIGN KEY(주소) REFERENCES 주소(주소)가 유효하지 않습니다. ALTER TABLE 배포자 VALIDATE CONSTRAINT distfk;
테이블에 (다중 열) 고유 제약 조건을 추가하려면:
ALTER TABLE 배포자 ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, 우편번호);
테이블에 자동으로 명명된 기본 키 제약 조건을 추가하려면 테이블은 하나의 기본 키만 가질 수 있다는 점에 유의하세요.
ALTER TABLE 배포자가 기본 키 추가(dist_id);
테이블을 다른 스포츠 토토 베트맨스페이스로 이동하려면:
ALTER TABLE 배포자 SET TABLESPACE fasttablespace;
스포츠 토토 베트맨을 다른 스키마로 이동하려면:
ALTER TABLE myschema.distributors SET SCHEMA yourschema;
색인이 재구축되는 동안 업데이트를 차단하지 않고 기본 키 제약 조건을 다시 생성하려면:
동시에 고유 인덱스 생성 dist_id_temp_idx ON 배포자(dist_id);
ALTER TABLE 배포자 DROP CONSTRAINT distributions_pkey,
인덱스 dist_id_temp_idx를 사용하여 제약 조건 distributions_pkey 기본 키를 추가합니다.
범위로 파티션을 나눈 테이블에 파티션을 연결하려면:
ALTER TABLE 측정
('2016-07-01')부터 ('2016-08-01')까지의 값에 대한 파티션 측정_y2016m07 첨부;
목록으로 파티션된 스포츠 토토 베트맨에 파티션을 연결하려면:
ALTER TABLE 도시
('a', 'b')의 값에 대해 파티션 city_ab 연결;
해시 파티션 스포츠 토토 베트맨에 파티션을 연결하려면:
ALTER TABLE 주문
(모듈러스 4, 나머지 3)이 포함된 값에 대해 파티션 주문_p4 연결;
파티션된 스포츠 토토 베트맨에 기본 파티션을 연결하려면:
ALTER TABLE 도시
파티션 연결 city_partdef DEFAULT;
파티션을 나눈 테이블에서 파티션을 분리하려면:
ALTER TABLE 측정
파티션 분리 측정_y2015m12;
양식[열] 추가, [열] 삭제, ID 삭제, 다시 시작, 기본값으로 설정, 데이터 유형 설정(없이사용 중), 세트 생성됨그리고SETSQL 표준을 준수합니다. 양식sequence_option추가다음의 경우 SQL 표준을 준수합니다.table_constraint색인 사용그리고유효하지 않음절이 생략되었으며 제약 조건 유형은 다음 중 하나입니다.확인, 고유, 기본 키또는참조. 다른 형태는 다음과 같습니다.포스트그레SQLSQL 표준의 확장입니다. 또한 단일에서 둘 이상의 조작을 지정하는 기능도 있습니다.스포츠 토토 베트맨 변경명령은 확장입니다.
스포츠 토토 베트맨 드롭 열 변경는 테이블의 유일한 열을 삭제하고 열이 없는 테이블을 남겨 두는 데 사용할 수 있습니다. 이는 열이 없는 테이블을 허용하지 않는 SQL의 확장입니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.