이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 스포츠 토토 사이트 작성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 무지개 토토

이름

CREATE TABLE -- 새 무지개 토토 정의

시놉시스

[ [ 글로벌 | 로컬 ]  임시 | 온도  | 기록되지 않음 ] 무지개 토토 [ 존재하지 않는 경우 ]테이블_이름 ( [
  { 컬럼_이름 데이터_유형[ 수집조합 ] [ column_constraint [ ... ] ]
    | table_constraint| 좋다source_table [ like_option... ] 
    [, ... ]
] )
[ 상속(parent_table[, ... ] ) ]
[ 와 함께 (storage_parameter [= ] [, ... ] ) | 오이즈와 함께 | OIDS 없음]
[ 커밋 중  행 보존 | 행 삭제 | 떨어지다  ]
[무지개 토토스페이스무지개 토토스페이스_이름]

생성 [ [ 글로벌 | 로컬 ]  임시 | 온도  | 기록되지 않음 ] 무지개 토토 [ 존재하지 않는 경우 ]테이블_이름유형_이름 [ (
  { 컬럼_이름옵션 포함 [column_constraint [ ... ] ]
    | table_constraint[, ... ]
) ]
[ 와 함께 (storage_parameter [= ] [, ... ] ) | 오이즈와 함께 | OIDS 없음]
[ 커밋 중  행 보존 | 행 삭제 | 떨어지다  ]
[무지개 토토스페이스무지개 토토스페이스_이름 ]

어디에서column_constraint다음과 같습니다:[ 제약제약_이름]
 NULL이 아님 |
  NULL |
  확인하다 (표현) [ 상속 없음 ] |
  기본default_expr|
  고유한index_parameters|
  기본 키index_parameters|
  참조재조정 가능 [ ( refcolumn) ] [ 전체 일치 | 부분 일치 | 매치 심플 ]
    [ 삭제 중액션] [ 업데이트 중액션]그리고table_constraint다음과 같습니다:[ 제약제약조건_이름]
 확인하다 (표현) [ 상속 없음 ] |
  고유한 (열_이름 [, ... ] ) index_parameters|
  기본 키(컬럼_이름 [, ... ] ) index_parameters|
  제외 [ 사용index_method ] ( 제외_요소위드연산자 [, ... ] ) index_parameters[ 어디서 (술어) ] |
  외래 키(컬럼_이름[, ... ] ) 참조재조정 가능 [ ( refcolumn[, ... ] ) ]
    [ 전체 일치 | 부분 일치 | 단순 일치 ] [ 삭제 시액션] [ 업데이트 중액션]그리고like_option다음과 같습니다:포함 | 제외   기본값 | 제약 | 인덱스 | 저장 | 코멘트 | 모두index_parameters고유, 기본 키제외제약조건은 다음과 같습니다.[ 와 (storage_parameter [= ] [, ... ] ) ]
[ 인덱스 무지개 토토스페이스 사용무지개 토토스페이스_이름 ]

제외_요소안에제외제약조건은 다음과 같습니다.

{ 열_이름 | ( 표현 ) } [ opclass] [ ASC | DESC ] [ NULLS  첫 번째 | 마지막  ]

설명

무지개 토토 생성새로운 것을 생성할 것입니다. 현재 데이터베이스의 처음에는 비어 있는 테이블입니다. 테이블은 명령을 실행하는 사용자가 소유합니다.

스키마 이름이 제공된 경우(예:무지개 토토 생성 myschema.mytable ...) 그 다음 테이블 지정된 스키마에 생성됩니다. 그렇지 않으면 다음에 생성됩니다. 현재 스키마. 임시 테이블은 특수한 스키마에 존재하며, 따라서 임시 테이블을 생성할 때 스키마 이름을 지정할 수 없습니다. 테이블 이름은 다른 테이블 이름과 구별되어야 합니다. 동일한 테이블, 시퀀스, 인덱스, 뷰 또는 외부 테이블 개요.

무지개 토토 생성또한 자동으로 복합 유형을 나타내는 데이터 유형을 생성합니다. 테이블의 한 행에 해당합니다. 따라서 테이블은 동일한 데이터 유형의 기존 데이터 유형과 동일한 이름을 가집니다. 개요.

선택적 제약 조건 절은 제약 조건(테스트)을 지정합니다. 새 행이나 업데이트된 행이 삽입이나 업데이트를 충족해야 함 성공하기 위한 작전. 제약 조건은 다음을 수행하는 데 도움이 되는 SQL 개체입니다. 다양한 방법으로 테이블의 유효한 값 집합을 정의합니다.

제약조건을 정의하는 방법에는 두 가지가 있습니다: 테이블 제약조건 및 열 제약 조건. 열 제약 조건은 다음의 일부로 정의됩니다. 열 정의. 테이블 제약 조건 정의는 다음에 연결되어 있지 않습니다. 특정 열이며 두 개 이상의 열을 포함할 수 있습니다. 모든 열 제약 조건은 테이블로도 작성할 수 있습니다. 강제; 열 제약 조건은 표기상의 편의일 뿐입니다. 제약 조건이 하나의 열에만 영향을 미치는 경우에 사용됩니다.

테이블을 생성하려면 다음이 있어야 합니다.사용모든 열 유형 또는 다음 유형에 대한 권한 그만큼OF절 각각.

매개변수

임시또는온도

지정되면 테이블이 임시 테이블로 생성됩니다. 임시 테이블은 작업이 끝나면 자동으로 삭제됩니다. 세션 또는 선택적으로 현재 세션이 끝날 때 거래(참조커밋 중아래). 동일한 이름을 가진 기존 영구 테이블은 임시 테이블이 현재 세션에 표시되는 동안 스키마 한정으로 참조되지 않는 한 존재합니다. 이름. 임시 테이블에 생성된 모든 인덱스는 자동으로 일시적이기도 합니다.

autovacuum 데몬액세스할 수 없으므로 진공 청소기로 청소하거나 분석할 수 없습니다. 임시 테이블. 이러한 이유로 적절한 진공 및 분석 작업은 SQL 세션을 통해 수행되어야 합니다. 명령. 예를 들어 임시 테이블을 만들려는 경우 복잡한 쿼리에 사용되는 경우 실행하는 것이 좋습니다.분석다음 임시 테이블에 채워졌습니다.

선택적으로,글로벌또는로컬이전에 쓸 수 있음임시또는온도. 이는 현재로서는 아무런 차이가 없습니다.PostgreSQL그리고 더 이상 사용되지 않습니다. 보다호환성.

기록되지 않음

지정되면 무지개 토토은 기록되지 않은 무지개 토토로 생성됩니다. 기록되지 않은 무지개 토토에 기록된 데이터는 미리 쓰기 로그(참조토토 캔 : 문서 : 9.2 : 신뢰성과 쓰기 로그), 이는 일반 테이블보다 훨씬 빠릅니다. 그러나 충돌로부터 안전하지는 않습니다. 기록되지 않은 테이블은 충돌 또는 불완전한 종료 후에 자동으로 잘립니다. 기록되지 않은 테이블의 내용도 복제되지 않습니다. 대기 서버로. 기록되지 않은 데이터베이스에 생성된 모든 인덱스 테이블도 자동으로 로그 해제됩니다. 그러나 기록되지 않았습니다.사설 토토 사이트 : 문서 : 9.2 : 사설 토토 사이트 Indexes현재는 아님 지원되며 기록되지 않은 테이블에서는 생성될 수 없습니다.

존재하지 않는 경우

동일한 이름을 가진 관계인 경우 오류를 발생시키지 마십시오. 이미 존재합니다. 이 경우 통지가 발행됩니다. 참고하세요 기존 관계가 다음과 같다는 보장은 없습니다. 생성되었을 것과 같은 것.

테이블_이름

테이블의 이름(선택적으로 스키마 한정) 생성됩니다.

OF유형_이름

생성입력된 무지개 토토, 지정된 복합 유형(이름 선택적으로 스키마 한정). 유형이 지정된 무지개 토토은 해당 테이블에 연결되어 있습니다. 유형; 예를 들어 유형이 다음과 같은 경우 테이블이 삭제됩니다. 떨어졌다 (와 함께드롭 유형 ... 종속).

유형이 지정된 무지개 토토이 생성되면 다음의 데이터 유형은 열은 기본 복합 유형에 따라 결정됩니다. 그리고는에 의해 지정되지 않습니다CREATE 무지개 토토명령. 하지만만들기 무지개 토토명령은 기본값과 제약 조건을 추가할 수 있습니다. 테이블에 저장되며 스토리지 매개변수를 지정할 수 있습니다.

열_이름

새 테이블에 생성될 열의 이름입니다.

데이터_유형

열의 데이터 유형. 여기에는 배열이 포함될 수 있습니다. 지정자. 데이터 유형에 대한 자세한 내용은 지원자:PostgreSQL, 참조PostgreSQL : 문서 : 9.2 : 데이터 사설 토토.

콜레이트조합

콜레이트절은 열에 대한 데이터 정렬(조합 가능한 데이터여야 함) 유형). 지정하지 않으면 열 데이터 유형의 기본값 데이터 정렬이 사용됩니다.

상속됨(parent_table [, ... ] )

선택사항상속됨절 새 테이블이 생성되는 테이블 목록을 지정합니다. 모든 열을 자동으로 상속합니다.

사용상속을 생성합니다 새 하위 테이블과 해당 하위 테이블 간의 지속적인 관계 상위 테이블. 상위 항목에 대한 스키마 수정 일반적으로 어린이에게도 전파되며 기본적으로 하위 테이블의 데이터는 스캔에 포함됩니다. 부모).

동일한 열 이름이 하나 이상의 상위에 존재하는 경우 테이블의 데이터 유형이 지정되지 않으면 오류가 보고됩니다. 열은 각 상위 테이블에서 일치합니다. 없는 경우 충돌이 발생하면 중복 열이 병합되어 새 테이블의 단일 열. 열 이름 목록의 경우 새 테이블에는 다음과 같은 열 이름이 포함되어 있습니다. 상속된 경우 데이터 유형도 마찬가지로 상속된 데이터 유형과 일치해야 합니다. 열 및 열 정의가 하나로 병합됩니다. 새 테이블이 명시적으로 기본값을 지정하는 경우 열에서 이 기본값은 다음의 모든 기본값을 재정의합니다. 열의 상속된 선언. 그렇지 않으면 어떤 열의 기본값을 지정하는 상위 항목은 모두 동일한 기본값을 지정하지 않으면 오류가 보고됩니다.

확인제약조건이 병합되었습니다. 본질적으로 열과 같은 방식입니다. 부모가 여러 개인 경우 테이블 및/또는 새 테이블 정의에는 다음이 포함됩니다. 동일한 이름의확인제약조건, 이러한 제약조건은 모두 동일한 검사를 받아야 합니다. 그렇지 않으면 오류가 보고됩니다. 제약 이름과 표현식이 같은 항목은 하나로 병합됩니다. 복사. 표시된 제약 조건아니요 상속상위 항목은 고려되지 않습니다. 알아채다 그건 이름없는확인제약 고유한 이름이 있으므로 새 테이블에서는 병합되지 않습니다. 항상 선택될 것입니다.

칼럼저장설정은 다음과 같습니다 상위 테이블에서도 복사되었습니다.

좋아요source_table [ like_option ... ]

좋아요절은 다음을 지정합니다. 새 테이블이 자동으로 모든 항목을 복사하는 테이블 열 이름, 해당 데이터 유형 및 null이 아님 제약.

달리상속됨, 새 테이블 원본 테이블은 생성 후 완전히 분리됩니다. 완료되었습니다. 원본 테이블에 대한 변경 사항은 적용되지 않습니다. 새 테이블에 적용되며 포함할 수 없습니다. 원본 테이블 스캔에서 새 테이블의 데이터.

복사된 열 정의에 대한 기본 표현식 다음 경우에만 복사됩니다.포함 기본값지정되었습니다. 기본 동작은 다음과 같습니다. 기본 표현식을 제외하면 복사됩니다. 기본값이 null인 새 테이블의 열입니다. 참고하세요 데이터베이스 수정 함수를 호출하는 기본값 복사, 와 같은다음값, 생성할 수 있습니다. 원본 테이블과 새 테이블 간의 기능적 연결.

null이 아닌 제약조건은 항상 새 무지개 토토에 복사됩니다.확인제약조건이 복사됩니다 경우에만제약조건 포함이다 지정. 열 간에는 구별이 없습니다. 제약 조건 및 무지개 토토 제약 조건.

색인,기본 키, 고유제외원래 테이블의 제약 조건 경우에만 새 테이블에 생성됩니다.색인 포함이 지정되었습니다. 이름 새로운 인덱스와 제약 조건은 다음에 따라 선택됩니다. 원본의 이름이 어떻게 지정되었는지에 관계없이 기본 규칙입니다. (이 동작은 가능한 중복 이름 오류를 방지합니다. 새로운 인덱스.)

저장복사된 설정 열 정의는 다음 경우에만 복사됩니다.저장소 포함이 지정되었습니다. 기본값 행동은 제외하는 것입니다저장설정으로 인해 새 무지개 토토에 열이 복사됩니다. 유형별 기본 설정이 있습니다. 자세한 내용은저장설정, 참조섹션 56.2.

복사된 열, 제약 조건 및 항목에 대한 설명 색인은 다음 경우에만 복사됩니다.댓글 포함지정되었습니다. 기본값 동작은 댓글을 제외하는 것입니다. 새 테이블의 열과 제약 조건 댓글.

모두 포함약어입니다. 의 형태기본값 포함: 다음을 포함하는 스토리지를 포함하는 인덱스를 포함하는 제약 조건 코멘트.

그와는 다르다는 점에 유의하세요상속, 복사된 열 및 제약조건좋아요비슷한 이름의 항목과 병합되지 않습니다. 열과 제약조건. 동일한 이름이 지정된 경우 명시적으로 또는 다른 방법으로좋아요절, 오류가 발생했습니다.

좋아요절은 다음과 같을 수도 있습니다. 뷰, 외부 테이블에서 열 정의를 복사하는 데 사용됩니다. 또는 복합 유형. 적용할 수 없는 옵션(예:색인 포함보기에서)는 무시됩니다.

제약제약_이름

열 또는 테이블 제약조건에 대한 선택적 이름입니다. 만약에 제약 조건이 위반되었습니다. 제약 조건 이름이 존재합니다. 오류 메시지에는 다음과 같은 제약 조건 이름이 있습니다.col은 양수여야 합니다.다음에 사용할 수 있습니다. 클라이언트에게 유용한 제약 정보 전달 응용 프로그램. (지정하려면 큰따옴표가 필요합니다. 공백이 포함된 제약 조건 이름입니다.) 제약 조건 이름이 지정되지 않으면 시스템에서 이름을 생성합니다.

NULL이 아님

이 열은 null 값을 포함할 수 없습니다.

NULL

열에는 null 값이 포함될 수 있습니다. 이것은 기본값입니다.

이 절은 다음과의 호환성을 위해서만 제공됩니다. 비표준 SQL 데이터베이스. 새 제품에서는 사용이 권장되지 않습니다. 응용 프로그램.

확인(표현) [ 상속 없음 ]

확인절은 다음을 지정합니다. 새로운 또는 업데이트된 부울 결과를 생성하는 표현식 행은 삽입 또는 업데이트 작업을 충족해야 합니다. 성공하다. TRUE 또는 UNKNOWN으로 평가되는 표현식은 성공합니다. 삽입 또는 업데이트 작업의 행에서 FALSE 결과 오류 예외가 발생하고 삽입 또는 업데이트는 데이터베이스를 변경하지 않습니다. 검사 제약조건 열 제약 조건으로 지정된 것은 다음을 참조해야 합니다. 열의 값만, 표현식은 테이블 제약 조건은 여러 열을 참조할 수 있습니다.

현재,확인표현식 하위 쿼리를 포함하거나 다음 이외의 변수를 참조할 수 없습니다. 현재 행의 열입니다.

다음으로 표시된 제약조건아니요 상속하위 무지개 토토에 전파되지 않습니다.

기본값default_expr

기본값절은 열 정의가 있는 열의 기본 데이터 값 안에 나타납니다. 값은 변수가 없습니다. 표현식(다른 표현식에 대한 하위 쿼리 및 상호 참조 현재 테이블의 열은 허용되지 않습니다. 데이터 기본 표현식의 유형은 다음의 데이터 유형과 일치해야 합니다. 열.

기본 표현식은 모든 삽입에 사용됩니다 열의 값을 지정하지 않는 작업입니다. 만약에 열에 대한 기본값이 없으면 기본값은 다음과 같습니다. 널.

고유(열 제약)
고유(열_이름 [, ... ] )(무지개 토토 강제)

고유제약조건이 지정함 테이블의 하나 이상의 열 그룹에 포함될 수 있는 것 유일한 값. 고유 테이블의 동작 제약 조건은 열 제약 조건과 동일합니다. 여러 열에 걸쳐 있는 추가 기능입니다.

고유 제약 조건의 경우 null 값은 다음과 같습니다. 동등한 것으로 간주되지 않습니다.

각 고유 테이블 제약조건은 열 집합의 이름을 지정해야 합니다. 이는 임의의 이름으로 명명된 열 집합과 다릅니다. 에 대해 정의된 다른 고유 또는 기본 키 제약 조건 테이블. (그렇지 않으면 동일한 제약 조건이 됩니다. 두 번 나열되었습니다.)

기본 키(열 강제)
기본 키(열_이름 [, ... ] )(무지개 토토 강제)

기본 키제약 테이블의 열에 포함될 수 있음을 지정합니다. 고유한(중복되지 않은) null이 아닌 값만 가능합니다. 단 하나 기본 키는 테이블에 대해 지정될 수 있습니다. 열 제약조건 또는 테이블 제약조건입니다.

기본 키 제약 조건은 열 집합의 이름을 지정해야 합니다. 이는 임의의 이름으로 명명된 열 집합과 다릅니다. 동일한 테이블에 대해 고유 제약 조건이 정의되었습니다. (그렇지 않으면, 고유 제약 조건은 중복되며 폐기되었습니다.)

기본 키동일한 시행 데이터 제약 조건의 조합고유그리고아님 NULL, 그러나 열 집합을 기본 열로 식별 키는 스키마 설계에 대한 메타데이터도 제공합니다. 기본 키는 다른 테이블이 의존할 수 있음을 의미하므로 이 열 집합을 행의 고유 식별자로 사용합니다.

제외 [ 사용index_method ] ( 제외_요소함께연산자 [, ... ] ) index_parameters[ 어디서 (술어 ) ]

제외절은 다음을 정의합니다. 제외 제약 조건은 두 개의 행이 있는 경우 지정된 열 또는 표현식에서 비교됩니다. 지정된 연산자를 사용합니다. 이들 중 전부는 아닙니다. 비교 결과가 반환됩니다.. 만약에 지정된 모든 연산자가 동일한지 테스트합니다. 이는 다음과 같습니다. a와 동일고유제약, 일반적인 고유 제약 조건이 더 빠르긴 하지만요. 그러나 제외 제약조건은 다음과 같은 제약조건을 지정할 수 있습니다. 단순한 평등보다 더 일반적입니다. 예를 들어 다음을 수행할 수 있습니다. 테이블의 두 행에 포함되지 않는 제약 조건을 지정합니다. 겹치는 원(참조섹션 8.8)를 사용하여&&연산자.

제외 제약조건은 색인을 사용하여 구현되므로 지정된 각 연산자는 다음과 연결되어야 합니다. 적절한 연산자 클래스(참조섹션 11.934557_34597index_method. 연산자는 교환 가능해야 합니다. 각제외_요소할 수 있다 선택적으로 연산자 클래스 및/또는 순서 지정 옵션; 자세한 내용은 아래에 자세히 설명되어 있습니다.색인 생성.

액세스 방법이 다음을 지원해야 합니다.amgettuple(참조52장); 현재 이것은 의미합니다사용할 수 없습니다. 허용되지만 사용하는 데 거의 의미가 없습니다. 제외 제약 조건이 있는 B-트리 또는 해시 인덱스, 왜냐하면 이것은 평범한 독특한 것과는 아무 상관이 없기 때문입니다. 제약 조건이 더 좋지 않습니다. 따라서 실제로 액세스 메서드는 항상 다음과 같습니다GiST또는SP-GiST.

술어당신을 허용합니다 하위 집합에 대한 제외 제약 조건을 지정하려면 테이블; 내부적으로 이는 부분 인덱스를 생성합니다. 참고하세요 술어 주위에는 괄호가 필요합니다.

참조재조정 가능 [ ( refcolumn) ] [ 일치일치 유형] [ 삭제 중액션] [ 업데이트 중액션 ](열 제약)
외래 키(열_이름[, ... ] ) 참조재조정 가능 [ ( refcolumn[, ... ] ) ] [ 일치일치 유형] [ 삭제 중동작] [ 업데이트 중액션 ](무지개 토토 강제)

이 절은 외래 키 제약 조건을 지정합니다. 하나 이상의 새 열 그룹이 필요합니다. 테이블에는 다음 값과 일치하는 값만 포함되어야 합니다. 참조된 테이블의 일부 행에 대한 참조 열입니다. 만약에refcolumn생략되었습니다. 의 기본 키재조정 가능사용됩니다. 참조된 열은 연기할 수 없는 고유 열이거나 참조된 테이블의 기본 키 제약 조건입니다. 참고하세요 임시 키 사이에는 외래 키 제약 조건을 정의할 수 없습니다. 테이블 및 영구 테이블.

참조 열에 삽입된 값은 다음과 같습니다. 참조된 테이블의 값과 일치하며 지정된 일치 유형을 사용하여 참조된 열입니다. 있다 세 가지 일치 유형:전체 일치, 부분 일치간단한 일치, 이는 기본값이기도 합니다.전체 일치하나도 허용하지 않습니다 다중 열 외래 키의 열은 모두 null이 아닌 한 null이 됩니다. 외래 키 열이 null입니다.일치 단순한일부 외래 키 열이 null이 되도록 허용합니다. 외래 키의 다른 부분은 null이 아닙니다.부분 일치아직은 아닙니다 구현되었습니다.

또한 참조된 열의 데이터가 변경되면 이 데이터에 대해 특정 작업이 수행됩니다. 테이블의 열. 그만큼삭제 중절은 참조된 경우 수행할 작업을 지정합니다. 참조된 테이블의 행을 삭제하는 중입니다. 마찬가지로,업데이트 중절은 다음을 지정합니다. 참조된 열이 있을 때 수행할 작업 참조된 테이블이 새 값으로 업데이트되고 있습니다. 만약 행이 업데이트되었지만 참조된 열은 실제로 업데이트되지 않았습니다. 변경되었으므로 아무 작업도 수행되지 않습니다. 이외의 참조 조치 그만큼조치 없음확인할 수 없습니다. 제약조건이 연기 가능으로 선언된 경우에도 연기됩니다. 각각에 대해 다음과 같은 가능한 작업이 있습니다. 절:

조치 없음

삭제 또는 삭제를 나타내는 오류를 생성합니다. 업데이트하면 외래 키 제약 조건이 생성됩니다. 위반. 제약조건이 연기되면 이 오류가 발생합니다. 제약 조건 확인 시간에 생성됩니다. 여전히 참조 행이 존재합니다. 이것이 기본값입니다 행동.

제한

삭제 또는 삭제를 나타내는 오류를 생성합니다. 업데이트하면 외래 키 제약 조건이 생성됩니다. 위반. 이는 다음과 같습니다.아니요 행동수표가 아닌 것을 제외하고 연기할 수 있습니다.

캐스케이드

삭제된 행을 참조하는 행을 삭제하거나 참조 열의 값을 새 값으로 업데이트 참조된 열의 값입니다.

NULL로 설정

참조 열을 null로 설정하십시오.

기본값으로 설정

참조 열을 기본값으로 설정 값.

참조된 열이 자주 변경되면 외래 키 열에 인덱스를 추가하는 것이 현명할 수 있습니다. 외래 키와 관련된 참조 작업 열을 보다 효율적으로 수행할 수 있습니다.

지연 가능
지연할 수 없음

이것은 제약 조건을 연기할 수 있는지 여부를 제어합니다. 에이 연기할 수 없는 제약 조건을 확인합니다. 모든 명령 직후. 제약사항 확인 연기 가능한 것은 종료일까지 연기될 수 있다. 거래(제약조건 설정명령).지연할 수 없음기본값입니다. 현재는 만고유, 기본 키, 제외참조(외래 키) 제약 조건 허용 이 조항.NULL이 아님그리고확인제약조건은 그렇지 않습니다. 연기할 수 있습니다.

처음에는 즉시
처음에는 연기됨

제약조건이 연기 가능한 경우 이 절은 다음을 지정합니다. 제약 조건을 확인하는 기본 시간입니다. 제약 조건이 다음과 같은 경우처음에는 즉시, 확인되었습니다 각 진술 후에. 이것이 기본값입니다. 만약 제약 조건은처음에는 연기됨, 이는 거래가 끝날 때만 확인됩니다. 그만큼 제약 조건 확인 시간은 다음을 사용하여 변경할 수 있습니다.제약조건 설정명령.

함께 (storage_parameter [= ] [, ... ] )

이 절은 다음에 대한 선택적 저장 매개변수를 지정합니다. 테이블 또는 인덱스; 보다저장 매개변수42684_42713함께테이블에 대한 절에는 다음도 포함될 수 있습니다.OIDS=TRUE(또는 그냥OIDS)을 사용하여 새 테이블의 해당 행을 지정합니다. OID(객체 식별자)가 할당되어 있어야 합니다. 또는OIDS=FALSE다음을 지정합니다. 행에는 OID가 없어야 합니다. 만약에OIDS지정되지 않았습니다. 기본 설정은 다음에 따라 다릅니다.default_with_oids구성 매개변수. (새 테이블이 다음에서 상속되는 경우 OID가 있는 모든 테이블은 다음과 같습니다.OIDS=TRUE명령이 다음과 같이 표시되더라도 강제됩니다.OIDS=FALSE.)

만약OIDS=FALSE지정되었거나 암시적으로 새 테이블은 OID를 저장하지 않으며 어떤 OID도 저장하지 않습니다. 삽입된 행에 대해 할당됩니다. 이는 일반적으로 OID 소비를 줄일 수 있으므로 가치 있는 것으로 간주됩니다. 32비트 OID의 랩어라운드를 연기합니다. 계수기. 카운터가 끝나면 OID는 더 이상 사용할 수 없습니다. 고유한 것으로 간주되어 상당히 적은 양이 됩니다. 유용한. 또한 테이블에서 OID를 제외하면 디스크에 테이블을 저장하는 데 필요한 공간 4바이트 행당(대부분의 시스템에서) 약간 개선됨 성능.

테이블이 생성된 후 테이블에서 OID를 제거하려면, 사용스포츠 토토 베트맨 PostgreSQL : 문서 : 9.2 : Alter Table.

OIDS 포함
OIDS 제외

이것은 다음과 동등한 구식 구문입니다.WITH(OIDS)그리고함께 (OIDS=거짓)입니다. 둘 다 주고 싶다면 anOIDS설정 및 저장 매개변수를 사용하려면와 함께 ( ... )구문; 위를 참조하세요.

커밋 중

종료 시 임시 테이블의 동작 트랜잭션 블록은 다음을 사용하여 제어할 수 있습니다.커밋 중. 세 가지 옵션은 다음과 같습니다.

행 보존

다음이 끝날 때 특별한 조치가 취해지지 않습니다. 업무. 이것이 기본 동작입니다.

행 삭제

임시 테이블의 모든 행은 다음 시점에 삭제됩니다. 각 거래 블록의 끝. 본질적으로, 오토매틱PostgreSQL : 문서 : 9.2 : 스포츠 토토 사이트이다 커밋할 때마다 수행됩니다.

드롭

임시 테이블은 다음 작업이 끝나면 삭제됩니다. 현재 거래 블록입니다.

무지개 토토스페이스무지개 토토스페이스_이름

무지개 토토스페이스_이름이다 새 테이블이 위치할 무지개 토토스페이스의 이름 생성되었습니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.

인덱스 무지개 토토스페이스 사용무지개 토토스페이스_이름

이 절에서는 다음이 포함된 무지개 토토스페이스를 선택할 수 있습니다. a와 관련된 인덱스고유, 기본 열쇠또는제외제약 생성됩니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.

저장 매개변수

함께절에서 지정할 수 있음저장 매개변수무지개 토토용 및 a와 관련된 인덱스고유, 기본 키또는제외제약. 다음에 대한 저장 매개변수 색인은 다음에 문서화되어 있습니다.PostgreSQL : 문서 : 9.2 : 색인 스포츠 토토 베트맨. 현재 사용 가능한 저장 매개변수 테이블은 아래에 나열되어 있습니다. 별도의 언급이 없는 한 각 매개변수에 대해 같은 이름의 접두사가 붙은 추가 매개변수가 있습니다. 와 함께건배.은 다음 용도로 사용할 수 있습니다. 테이블의 보조 동작을 제어합니다.토스트테이블(있는 경우)(참조섹션 56.2자세한 정보는 토스트에 대해). TOAST 테이블은 다음을 상속합니다.autovacuum_*상위 무지개 토토의 값인 경우 없어요toast.autovacuum_*설정이 설정되었습니다.

채우기 요소 (정수)

테이블의 채우기 비율은 10 사이의 백분율입니다. 100. 100(완전 패킹)이 기본값입니다. 언제 더 작은 채우기 비율이 지정되었습니다.삽입작업 팩 무지개 토토 페이지만 표시된 백분율; 각각 남은 공간 페이지는 해당 페이지의 행을 업데이트하기 위해 예약되어 있습니다. 이것 준다업데이트배치할 기회 동일한 페이지에 있는 행의 업데이트된 복사본 원본 위에 올려놓는 것보다 더 효율적입니다. 다른 페이지. 항목이 절대 없는 테이블의 경우 업데이트되고 완전한 포장이 최선의 선택이지만 크게 업데이트된 테이블의 채우기 요소는 더 작습니다. 적절한. TOAST에는 이 매개변수를 설정할 수 없습니다. 테이블.

autovacuum_enabled, toast.autovacuum_enabled (부울)

자동 진공 데몬을 활성화 또는 비활성화합니다. 특정 테이블. true인 경우 autovacuum 데몬은 시작하다진공작업 특정 테이블의 개수가 업데이트되거나 삭제될 때 튜플 초과autovacuum_vacuum_threshold플러스autovacuum_vacuum_scale_factor현재 추정되는 라이브 튜플 수의 곱 관계에서. 마찬가지로, 시작됩니다.분석작업 시 삽입, 업데이트 또는 삭제된 튜플 수가 초과되었습니다.autovacuum_analyze_threshold플러스autovacuum_analyze_scale_factor배 현재 추정되는 라이브 튜플의 수 관계. false인 경우 이 테이블은 자동 진공 처리되지 않습니다. 트랜잭션 ID 랩어라운드를 방지하는 경우를 제외하고. 보다섹션 23.1.5랩어라운드 방지에 대해 자세히 알아보세요. 관찰하다 이 변수는에서 값을 상속받습니다.자동 진공설정.

autovacuum_vacuum_threshold, toast.autovacuum_vacuum_threshold (정수)

이전에 업데이트되거나 삭제된 튜플의 최소 수 시작하다진공작업 특정 무지개 토토.

autovacuum_vacuum_scale_factor, toast.autovacuum_vacuum_scale_factor (플로트4)

승수reltuples추가하려면autovacuum_vacuum_threshold.

autovacuum_analyze_threshold (정수)

삽입, 업데이트 또는 삭제된 튜플의 최소 수 시작하기 전에분석특정 무지개 토토에 대한 작업입니다.

autovacuum_analyze_scale_factor (float4)

승수reltuples추가하려면autovacuum_analyze_threshold.

autovacuum_vacuum_cost_delay, toast.autovacuum_vacuum_cost_delay (정수)

커스텀autovacuum_vacuum_cost_delay매개변수.

autovacuum_vacuum_cost_limit, toast.autovacuum_vacuum_cost_limit (정수)

커스텀autovacuum_vacuum_cost_limit매개변수.

autovacuum_freeze_min_age, toast.autovacuum_freeze_min_age (정수)

커스텀vacuum_freeze_min_age매개변수. autovacuum은 다음 시도를 무시합니다. 테이블별로 설정autovacuum_freeze_min_age보다 크다 시스템 전체의 절반autovacuum_freeze_max_age설정.

autovacuum_freeze_max_age, toast.autovacuum_freeze_max_age (정수)

커스텀autovacuum_freeze_max_age매개변수. 참고하세요 autovacuum은 테이블별 설정 시도를 무시합니다.autovacuum_freeze_max_age더 크게 시스템 전체 설정보다(설정만 가능함) 더 작음).

autovacuum_freeze_table_age, toast.autovacuum_freeze_table_age (정수)

커스텀vacuum_freeze_table_age매개변수.

참고

새 응용 프로그램에서 OID를 사용하는 것은 권장되지 않습니다. 가능합니다.연재또는 기타 테이블의 기본 키로 시퀀스 생성기를 사용하는 것이 좋습니다. 그러나 애플리케이션이 OID를 사용하여 식별하는 경우 테이블의 특정 행에 대해서는 고유한 행을 생성하는 것이 좋습니다. 에 대한 제약oid그 열 테이블의 OID가 실제로 고유한지 확인하기 위해 카운터 랩어라운드 후에도 행을 식별합니다. 가정하지 마십시오. OID는 테이블 전체에서 고유합니다. 데이터베이스 전체에 고유한 것이 필요한 경우 식별자, 다음 조합을 사용하십시오.무지개 토토로이드및 행 OID를 목적으로 합니다.

팁:사용OIDS=FALSE기본 키가 없는 테이블에는 권장되지 않습니다. OID나 고유 데이터 키가 없으면 어렵습니다. 특정 행을 식별합니다.

PostgreSQL자동으로 각 고유 제약 조건과 기본 키에 대한 인덱스를 생성합니다. 고유성을 강제하는 제약 조건. 따라서, 기본 키 열에 대해 명시적으로 인덱스를 만듭니다. (보다색인 생성더 보기 정보.)

고유 제약 조건과 기본 키는 다음에서 상속되지 않습니다. 현재 구현. 이것은 상속의 결합을 만든다. 고유한 제약 조건은 다소 역기능적입니다.

테이블은 1600개 이상의 열을 가질 수 없습니다. (실제로는 유효 한도는 일반적으로 튜플 길이로 인해 더 낮습니다. 제약 조건.)

무지개 토토 생성영화및 무지개 토토배포자:

테이블 영화 만들기(
    코드 char(5) CONSTRAINT firstkey PRIMARY KEY,
    제목 varchar(40) NOT NULL,
    정수가 NULL이 아니었나요?
    date_prod 날짜,
    종류 varchar(10),
    len 간격 시간에서 분까지
);

CREATE TABLE 배포자(
     정수 PRIMARY KEY DEFAULT nextval('serial')을 수행했습니다.
     이름 varchar(40) NOT NULL CHECK (이름 < '')
);

2차원 배열로 테이블을 생성하세요:

CREATE TABLE array_int(
    벡터 정수[][]
);

테이블에 대한 고유 테이블 제약 조건 정의영화. 고유 테이블 제약 조건은 다음에서 정의할 수 있습니다. 테이블의 하나 이상의 열:

테이블 영화 만들기(
    코드 문자(5),
    제목 varchar(40),
    정수를 했고,
    date_prod 날짜,
    종류 varchar(10),
    len 간격 시간에서 분,
    CONSTRAINT 생산 UNIQUE(date_prod)
);

검사 열 제약 조건 정의:

테이블 배포자 생성(
    정수 CHECK를 수행했습니다(100보다 컸음).
    이름 varchar(40)
);

검사 테이블 제약조건 정의:

테이블 배포자 생성(
    정수를 했고,
    이름 varchar(40)
    CONSTRAINT con1 CHECK (did  100 AND 이름 < '')
);

테이블에 대한 기본 키 테이블 제약 조건 정의영화:

테이블 영화 만들기(
    코드 문자(5),
    제목 varchar(40),
    정수를 했고,
    date_prod 날짜,
    종류 varchar(10),
    len 간격 시간에서 분,
    CONSTRAINT code_title PRIMARY KEY(코드,제목)
);

테이블에 대한 기본 키 제약조건 정의배포자. 다음 두 가지 예는 이에 상응하는 첫 번째는 테이블 제약 조건 구문을 사용하는 것입니다. 두 번째 열 제약 조건 구문:

테이블 배포자 생성(
    정수를 했고,
    이름 varchar(40),
    기본 키(했었습니다)
);

CREATE TABLE 배포자(
    정수 PRIMARY KEY를 수행했습니다.
    이름 varchar(40)
);

열에 리터럴 상수 기본값 할당이름, 기본값을 정렬합니다. 열했어요선택하여 생성됨 시퀀스 객체의 다음 값을 기본값으로 설정합니다. 의모드타임행이 시작되는 시간입니다. 삽입되었습니다:

테이블 배포자 생성(
    이름 varchar(40) DEFAULT 'Luso Films',
    정수 DEFAULT nextval('distributors_serial')을 수행했습니다.
    modtime 타임스탬프 DEFAULT current_timestamp
);

2개 정의NULL이 아님열 테이블에 대한 제약 조건배포자, 그 중 하나가 명시적으로 제공됨 이름:

테이블 배포자 생성(
    정수 CONSTRAINT no_null이 NULL이 아니었습니다.
    이름 varchar(40) NOT NULL
);

에 대한 고유 제약 조건 정의이름열:

테이블 배포자 생성(
    정수를 했고,
    이름 varchar(40) 고유
);

동일, 테이블 제약조건으로 지정됨:

테이블 배포자 생성(
    정수를 했고,
    이름 varchar(40),
    고유(이름)
);

동일한 테이블을 생성하고 두 테이블 모두에 70% 채우기 비율을 지정합니다. 테이블과 고유 인덱스:

테이블 배포자 생성(
    정수를 했고,
    이름 varchar(40),
    UNIQUE(이름) WITH (채우기 비율=70)
)
WITH(채우기 비율=70);

무지개 토토 생성서클그리고 두 개의 원이 서로 겹치는 것을 방지하는 제외 제약 조건 중복:

테이블 서클 생성(
    c 원,
    요점을 사용하여 제외(c WITH &&)
);

무지개 토토 생성영화관무지개 토토스페이스에서디스크볼1:

테이블 영화관 만들기(
        ID 일련번호,
        이름 텍스트,
        위치 텍스트
) 무지개 토토스페이스 diskvol1;

복합 유형 및 유형이 지정된 무지개 토토을 생성합니다:

CREATE TYPE Employee_type AS (이름 텍스트, 급여 숫자);

Employee_type의 직원 테이블 만들기(
    기본 키(이름),
    옵션 기본값이 1000인 급여
);

호환성

무지개 토토 생성명령은 다음을 준수합니다 그만큼SQL표준, 다음과 함께 아래에 나열된 예외.

임시 테이블

비록 구문은임시 생성 테이블SQL 표준과 유사하며 그 효과는 다음과 같습니다. 동일하지 않습니다. 표준에서는 임시 테이블이 정의됩니다. 단 한 번만 실행하면 자동으로 존재합니다(비어 있는 상태로 시작). 내용)이 필요한 모든 세션에 포함됩니다.포스트그레SQL대신 각 세션이 필요합니다. 자체 발행임시 생성 테이블62074_62352

임시 동작에 대한 표준 정의 테이블은 널리 무시됩니다.포스트그레SQL62496_62578

SQL 표준은 또한 글로벌과 로컬을 구별합니다. 로컬 임시 테이블에는 별도의 임시 테이블이 있습니다. 각 세션 내의 각 SQL 모듈에 대한 콘텐츠 집합입니다. 해당 정의는 여전히 세션 간에 공유됩니다. 부터포스트그레SQL지원하지 않음 SQL 모듈, 이 구별은 관련이 없습니다.PostgreSQL.

호환성을 위해,포스트그레SQL다음을 수락합니다글로벌그리고로컬임시 테이블 선언에 키워드가 있지만 현재는 효과가 없습니다. 이러한 키워드의 사용은 권장되지 않습니다. 향후 버전PostgreSQL더 표준을 준수하는 해석을 채택할 수 있습니다. 의미.

커밋 중임시절 테이블도 SQL 표준과 유사하지만 몇 가지 특징이 있습니다. 차이점. 만약커밋 중절 생략되면 SQL은 기본 동작을 다음과 같이 지정합니다.커밋 행 삭제 중. 그러나 기본 동작포스트그레SQLisON 커밋 보존 행. 그만큼커밋 삭제 중옵션이 존재하지 않습니다 SQL에서.

비지연 고유성 제약 조건

고유또는기본 키제약조건은 연기할 수 없습니다.포스트그레SQL다음을 확인합니다. 행이 삽입되거나 수정될 때마다 즉시 고유성이 유지됩니다. SQL 표준에서는 고유성이 강제되어야 한다고 말합니다. 성명서 끝에; 이것은 다음과 같은 경우에 차이를 만듭니다. 예를 들어 단일 명령으로 여러 키 값을 업데이트합니다. 에게 표준을 준수하는 동작을 얻고 제약 조건을 다음과 같이 선언합니다.지연 가능그러나 연기되지 않음(예:처음에는 즉시). 주의하세요 이는 즉각적인 고유성보다 훨씬 느릴 수 있습니다. 확인 중입니다.

열 확인 제약 조건

SQL 표준에 따르면확인열 제약조건은 적용되는 열만 참조할 수 있습니다. 오직확인테이블 제약조건이 참조할 수 있음 여러 열에.포스트그레SQL이것을 시행하지 않습니다 제한; 열 및 무지개 토토 검사 제약 조건을 처리합니다. 서로 같은.

제외제약

제외제약조건 유형은 a입니다.포스트그레SQL확장.

NULL "제약"

NULL "제약"(실제로는 비제약)은포스트그레SQL확장 다른 SQL과의 호환성을 위해 포함된 SQL 표준 데이터베이스 시스템(및 대칭을 위해)NULL이 아님제약). 기본값이므로 어떤 열이든 그 존재는 단순히 노이즈일 뿐입니다.

상속

다음을 통한 다중 상속상속됨절은 a입니다포스트그레SQL언어 확장. SQL:1999 나중에 다른 구문을 사용하여 단일 상속을 정의합니다. 그리고 다른 의미론. SQL:1999 스타일 상속은 아직 지원되지 않습니다. 지원자:PostgreSQL.

0열 무지개 토토

포스트그레SQL테이블을 허용합니다 생성할 열이 없습니다(예:테이블 foo() 생성;). 이것은 다음의 확장입니다. 열이 없는 테이블을 허용하지 않는 SQL 표준입니다. 0열 무지개 토토은 그 자체로는 별로 유용하지 않지만 이를 허용하지 않으면 이상한 특수 사례가 생성됩니다.테이블 드롭 열 변경따라서 더 깔끔해 보입니다. 이 사양 제한을 ​​무시하세요.

좋아요

그동안좋아요절이 다음에 존재합니다. SQL 표준, 다음과 같은 다양한 옵션이 있습니다.포스트그레SQL다음에 없으므로 수락합니다. 표준이며 일부 표준 옵션은 그렇지 않습니다. 에 의해 구현됨포스트그레SQL.

함께

함께절은 a입니다PostgreSQL확장; 저장도 아니고 매개변수나 OID는 표준에 있습니다.

무지개 토토스페이스

포스트그레SQL개념 무지개 토토스페이스는 표준의 일부가 아닙니다. 따라서 조항무지개 토토스페이스그리고인덱스 무지개 토토스페이스 사용확장입니다.

유형이 지정된 무지개 토토

유형이 지정된 무지개 토토은 SQL 표준의 하위 집합을 구현합니다. 표준에 따르면 유형이 지정된 무지개 토토에는 열이 있습니다. 기본 복합 유형에 해당하는 것뿐만 아니라 다른 열은"자체 참조 열". PostgreSQL은 이를 지원하지 않습니다. 자체 참조 열은 명시적으로 사용되지만 동일한 효과를 얻을 수 있습니다. OID 기능을 사용하고 있었습니다.