이 문서는 지원되지 않는 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 데몬액세스할 수 없으므로 임시 테이블을 정리하거나 분석할 수 없습니다. 이러한 이유로 적절한 Vacuum 및 분석 작업은 세션 SQL 명령을 통해 수행되어야 합니다. 예를 들어, 임시 테이블이 복잡한 쿼리에 사용된다면 다음을 실행하는 것이 좋습니다.분석채워진 후 임시 테이블에.

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

기록되지 않음

지정되면 메이저 토토 사이트은 기록되지 않은 메이저 토토 사이트로 생성됩니다. 기록되지 않은 메이저 토토 사이트에 기록된 데이터는 미리 쓰기 로그에 기록되지 않습니다(참조PostgreSQL : 문서 : 9.4 : 신뢰성과 토토 로그), 이는 일반 테이블보다 훨씬 빠릅니다. 그러나 충돌로부터 안전하지는 않습니다. 충돌 또는 비정상 종료 후에 기록되지 않은 테이블이 자동으로 잘립니다. 로그되지 않은 테이블의 내용도 대기 서버에 복제되지 않습니다. 기록되지 않은 테이블에 생성된 모든 인덱스도 자동으로 기록 해제됩니다.

존재하지 않는 경우

같은 이름의 관계가 이미 존재하는 경우 오류를 발생시키지 마십시오. 이 경우 통지가 발행됩니다. 기존 관계가 생성되었을 관계와 유사하다는 보장은 없습니다.

테이블_이름

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

OF유형_이름

생성입력된 메이저 토토 사이트, 지정된 복합 유형(선택적으로 스키마 한정 이름)에서 구조를 가져옵니다. 유형이 지정된 메이저 토토 사이트은 해당 유형과 연결되어 있습니다. 예를 들어 유형이 삭제되면 테이블도 삭제됩니다(드롭 유형 ... 캐스케이드).

유형이 지정된 메이저 토토 사이트이 생성되면 열의 데이터 유형은 기본 복합 유형에 의해 결정되며 다음으로 지정되지 않습니다.메이저 토토 사이트 생성명령. 하지만메이저 토토 사이트 생성명령은 테이블에 기본값과 제약 조건을 추가할 수 있으며 저장 매개변수를 지정할 수 있습니다.

컬럼_이름

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

데이터_유형

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

콜레이트조합

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

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

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

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

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

확인제약조건은 기본적으로 열과 동일한 방식으로 병합됩니다. 여러 상위 테이블 및/또는 새 테이블 정의에 동일한 이름이 포함된 경우확인제약조건, 이러한 제약조건은 모두 동일한 검사 표현식을 가져야 합니다. 그렇지 않으면 오류가 보고됩니다. 이름과 표현식이 동일한 제약조건은 하나의 복사본으로 병합됩니다. 표시된 제약 조건상속 없음상위 항목은 고려되지 않습니다. 이름이 지정되지 않은확인새 테이블의 제약조건은 병합되지 않습니다. 왜냐하면 고유한 이름이 항상 선택되기 때문입니다.

칼럼저장설정은 상위 메이저 토토 사이트에서도 복사됩니다.

좋아요source_table [ like_option ... ]

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

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

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

null이 아닌 제약조건은 항상 새 메이저 토토 사이트에 복사됩니다.확인제약조건은 다음의 경우에만 복사됩니다.제약조건 포함이 지정되었습니다. 열 제약조건과 메이저 토토 사이트 제약조건은 구분되지 않습니다.

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

저장복사된 열 정의에 대한 설정은 다음 경우에만 복사됩니다.저장소 포함지정되었습니다. 기본 동작은 제외하는 것입니다.저장설정으로 인해 새 메이저 토토 사이트의 복사된 열은 유형별 기본 설정을 갖게 됩니다. 자세한 내용은저장설정, 참조PostgreSQL : 문서 : 9.4 : 토토토 커뮤니티.

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

모두 포함는의 축약형입니다.주석을 포함하는 저장 공간을 포함하는 인덱스를 포함하는 제약 조건을 포함하는 기본값 포함.

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

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

제약제약조건_이름

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

NULL이 아님

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

NULL

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

이 절은 비표준 SQL 데이터베이스와의 호환성을 위해서만 제공됩니다. 새로운 애플리케이션에서는 사용이 권장되지 않습니다.

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

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

현재,확인식은 하위 쿼리를 포함할 수 없으며 현재 행의 열 이외의 변수를 참조할 수 없습니다(참조섹션 5.3.1). 시스템 열메이저 토토 사이트로이드참조될 수 있지만 다른 시스템 열은 참조될 수 없습니다.

다음으로 표시된 제약조건상속 없음하위 메이저 토토 사이트에 전파되지 않습니다.

기본값default_expr

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

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

고유(열 제약)
고유 (열_이름 [, ... ] )(테이블 제약조건)

고유제약조건은 테이블의 하나 이상의 열 그룹이 고유한 값만 포함할 수 있음을 지정합니다. 고유 테이블 제약 조건의 동작은 열 제약 조건의 동작과 동일하며 여러 열을 확장할 수 있는 추가 기능이 있습니다.

고유 제약조건의 목적상 null 값은 동일한 것으로 간주되지 않습니다.

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

기본 키(열 제약)
기본 키(컬럼_이름 [, ... ] )(테이블 제약조건)

기본 키제약조건은 테이블의 열이 고유한(중복되지 않은) Null이 아닌 값만 포함할 수 있음을 지정합니다. 열 제약조건이든 테이블 제약조건이든 관계없이 테이블에는 하나의 기본 키만 지정할 수 있습니다.

기본 키 제약 조건은 동일한 테이블에 대해 정의된 고유 제약 조건에 의해 명명된 열 집합과 다른 열 집합의 이름을 지정해야 합니다. (그렇지 않으면 고유 제약 조건이 중복되어 삭제됩니다.)

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

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

제외절은 지정된 연산자를 사용하여 지정된 열 또는 표현식에서 두 행을 비교하는 경우 이러한 비교 중 일부가 반환되지 않도록 보장하는 제외 제약 조건을 정의합니다.. 지정된 모든 연산자가 동일성을 테스트하는 경우 이는 a와 같습니다.고유제약, 일반 고유 제약이 더 빠르지만. 그러나 제외 제약 조건은 단순한 동등성보다 더 일반적인 제약 조건을 지정할 수 있습니다. 예를 들어, 테이블의 두 행에 겹치는 원이 포함되지 않도록 제약 조건을 지정할 수 있습니다(참조PostgreSQL : 문서 : 9.4 : 기하학적 롤 토토) 다음을 사용하여&&연산자.

제외 제약 조건은 색인을 사용하여 구현되므로 지정된 각 연산자는 적절한 연산자 클래스와 연결되어야 합니다(참조PostgreSQL : 문서 : 9.4 : 젠 토토 클래스 및 젠 토토 가족) 색인 액세스 방법의 경우index_method. 연산자는 교환 가능해야 합니다. 각제외_요소선택적으로 연산자 클래스 및/또는 순서 옵션을 지정할 수 있습니다. 자세한 내용은 아래에 자세히 설명되어 있습니다.PostgreSQL : 문서 : 9.4 : 윈 토토 생성.

액세스 방법이 다음을 지원해야 합니다.amgettuple(참조PostgreSQL : 문서 : 9.4 : 인덱스 토토 꽁 머니 방법 인터페이스 정의); 현재 이것은 의미합니다사용할 수 없습니다. 허용되기는 하지만 제외 제약 조건이 있는 B-트리 또는 해시 인덱스를 사용하는 것은 별 의미가 없습니다. 이는 일반 고유 제약 조건이 더 잘 수행하지 못하는 작업을 수행하지 않기 때문입니다. 따라서 실제로 액세스 방법은 항상 다음과 같습니다.GiST또는SP-GiST.

술어테이블의 하위 집합에 대한 제외 제약 조건을 지정할 수 있습니다. 내부적으로 이는 부분 인덱스를 생성합니다. 술어 주위에는 괄호가 필요합니다.

참조재조정 가능 [ ( refcolumn) ] [ 일치일치 유형] [ 삭제 중액션] [ 업데이트 중액션 ](열 제약)
외래 키(열_이름[, ... ] ) 참조재조정 가능 [ ( refcolumn[, ... ] ) ] [ 일치일치 유형] [ 삭제 중액션] [ 업데이트 중액션 ](테이블 제약 조건)

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

참조 열에 삽입된 값은 지정된 일치 유형을 사용하여 참조 테이블 및 참조 열의 값과 일치됩니다. 세 가지 일치 유형이 있습니다.전체 일치, 부분 일치간단한 일치(기본값).전체 일치모든 외래 키 열이 null이 아닌 한 여러 열 외래 키의 한 열이 null이 되는 것을 허용하지 않습니다. 모두 null인 경우 해당 행은 참조된 테이블에서 일치 항목을 가질 필요가 없습니다.간단한 일치외래 키 열이 null이 되도록 허용합니다. 그 중 null이 있으면 해당 행은 참조된 테이블에서 일치 항목을 가질 필요가 없습니다.부분 일치아직 구현되지 않았습니다. (물론,NULL이 아님이런 경우가 발생하는 것을 방지하기 위해 참조 열에 제약 조건을 적용할 수 있습니다.)

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

조치 없음

삭제 또는 업데이트로 인해 외래 키 제약 조건 위반이 발생함을 나타내는 오류가 발생합니다. 제약 조건이 연기된 경우 참조 행이 여전히 존재하면 제약 조건 확인 시 이 오류가 생성됩니다. 이것이 기본 동작입니다.

제한

삭제 또는 업데이트로 인해 외래 키 제약 조건 위반이 발생함을 나타내는 오류가 발생합니다. 이는 다음과 같습니다.조치 없음단, 검사는 연기할 수 없습니다.

캐스케이드

삭제된 행을 참조하는 모든 행을 삭제하거나 참조하는 열의 값을 참조된 열의 새 값으로 각각 업데이트하십시오.

NULL로 설정

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

기본값으로 설정

참조 열을 기본값으로 설정합니다. (기본값과 일치하는 참조 테이블의 행이 있어야 하며, null이 아닌 경우 작업이 실패합니다.)

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

지연 가능
지연할 수 없음

이것은 제약조건을 연기할 수 있는지 여부를 제어합니다. 연기할 수 없는 제약 조건은 모든 명령 후에 즉시 확인됩니다. 연기 가능한 제약 조건 확인은 트랜잭션이 끝날 때까지 연기할 수 있습니다(PostgreSQL : 문서 : 9.4 : 배트맨 토토 세트명령).지연할 수 없음기본값입니다. 현재는 만고유, 기본 키, 제외참조(외래 키) 제약 조건은 이 조항을 허용합니다.NULL이 아님그리고확인제약조건은 연기할 수 없습니다.

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

제약이 연기 가능한 경우, 이 절은 제약을 확인하는 기본 시간을 지정합니다. 제약 조건이 다음과 같은 경우처음에는 즉시, 각 문 다음에 확인됩니다. 이것이 기본값입니다. 제약 조건이 다음과 같은 경우처음에는 연기됨, 트랜잭션이 끝날 때만 확인됩니다. 제약 조건 확인 시간은 다음을 사용하여 변경할 수 있습니다.PostgreSQL : 문서 : 9.4 : 배트맨 토토 세트명령.

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

이 절은 테이블 또는 인덱스에 대한 선택적 저장 매개변수를 지정합니다. 보다저장 매개변수더 많은 정보를 원하시면. 그만큼함께테이블에 대한 절에는 다음도 포함될 수 있습니다.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.

OIDS 포함
OIDS 제외

다음과 동등한 구식 구문입니다.WITH(OIDS)그리고WITH (OIDS=FALSE)입니다. 둘 다 제공하고 싶다면OIDS설정 ​​및 저장 매개변수를 사용하려면함께 ( ... )구문; 위를 참조하세요.

커밋 중

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

행 보존

트랜잭션 종료 시 특별한 조치가 취해지지 않습니다. 이것이 기본 동작입니다.

행 삭제

임시 테이블의 모든 행은 각 트랜잭션 블록의 끝에서 삭제됩니다. 기본적으로 자동스포츠 토토 사이트 : 문서 : 9.4 : Truncate커밋할 때마다 완료됩니다.

드롭

임시 테이블은 현재 트랜잭션 블록의 끝에서 삭제됩니다.

메이저 토토 사이트스페이스메이저 토토 사이트스페이스_이름

메이저 토토 사이트스페이스_이름은 새 테이블이 생성될 메이저 토토 사이트스페이스의 이름입니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.

인덱스 메이저 토토 사이트스페이스 사용메이저 토토 사이트스페이스_이름

이 절은 다음과 연관된 인덱스가 있는 메이저 토토 사이트스페이스를 선택할 수 있도록 허용합니다.고유, 기본 키또는제외제약조건이 생성됩니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.

저장 매개변수

WITH절에서 지정할 수 있음저장 매개변수메이저 토토 사이트 및 a와 연관된 색인의 경우고유, 기본 키또는제외제약. 인덱스의 저장소 매개변수는 다음 문서에 설명되어 있습니다.PostgreSQL : 문서 : 9.4 : 윈 토토 생성. 현재 테이블에 사용할 수 있는 저장 매개변수는 다음과 같습니다. 각 매개변수에는 별도의 언급이 없는 한 이름 앞에가 붙은 추가 매개변수가 있습니다.토스트., 테이블의 보조 동작을 제어하는 ​​데 사용할 수 있습니다.토스트테이블(있는 경우)(참조PostgreSQL : 문서 : 9.4 : 토토토 커뮤니티TOAST에 대한 자세한 내용을 확인하세요). TOAST 테이블은 다음을 상속합니다.autovacuum_*상위 메이저 토토 사이트의 값(없는 경우)toast.autovacuum_*설정이 설정되었습니다.

채우기 요소 (정수)

테이블의 채우기 비율은 10에서 100 사이의 백분율입니다. 100(완전 패킹)이 기본값입니다. 더 작은 채우기 비율이 지정되면,삽입작업은 메이저 토토 사이트 페이지를 표시된 비율로만 압축합니다. 각 페이지의 나머지 공간은 해당 페이지의 행을 업데이트하기 위해 예약되어 있습니다. 이것은업데이트행의 업데이트된 사본을 원본과 동일한 페이지에 배치할 수 있는 기회. 이는 다른 페이지에 배치하는 것보다 더 효율적입니다. 항목이 업데이트되지 않는 테이블의 경우 완전한 패킹이 최선의 선택이지만, 많이 업데이트된 테이블에서는 더 작은 채우기 요소가 적합합니다. TOAST 테이블에는 이 매개변수를 설정할 수 없습니다.

autovacuum_enabled, toast.autovacuum_enabled (부울)

특정 테이블에서 autovacuum 데몬을 활성화 또는 비활성화합니다. 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 (플로트4)

다음에 대한 승수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매개변수.

autovacuum_multixact_freeze_min_age, toast.autovacuum_multixact_freeze_min_age (정수)

커스텀vacuum_multixact_freeze_min_age매개변수. autovacuum은 테이블별 설정 시도를 무시합니다.autovacuum_multixact_freeze_min_age시스템 전체의 절반보다 큼autovacuum_multixact_freeze_max_age설정.

autovacuum_multixact_freeze_max_age, toast.autovacuum_multixact_freeze_max_age (정수)

커스텀autovacuum_multixact_freeze_max_age매개변수. autovacuum은 테이블별 설정 시도를 무시합니다.autovacuum_multixact_freeze_max_age시스템 전체 설정보다 큽니다(더 작게만 설정할 수 있음).

autovacuum_multixact_freeze_table_age, toast.autovacuum_multixact_freeze_table_age (정수)

커스텀vacuum_multixact_freeze_table_age매개변수.

user_catalog_table (부울)

메이저 토토 사이트을 추가 카탈로그 메이저 토토 사이트로 선언합니다. 논리적 복제를 목적으로 합니다. 보다섹션 46.6.2자세한 내용은.

참고

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

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

PostgreSQL각 고유 제약조건 및 기본 키 제약조건에 대한 인덱스를 자동으로 생성하여 고유성을 강화합니다. 따라서 기본 키 열에 대해 명시적으로 인덱스를 생성할 필요가 없습니다. (보다PostgreSQL : 문서 : 9.4 : 윈 토토 생성자세한 내용은.)

고유 제약 조건과 기본 키는 현재 구현에서 상속되지 않습니다. 이로 인해 상속과 고유 제약 조건의 조합이 제대로 작동하지 않게 됩니다.

테이블은 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 표준과 유사하지만 효과는 동일하지 않습니다. 표준에서는 임시 테이블이 한 번만 정의되고 필요한 모든 세션에 자동으로 존재합니다(빈 내용으로 시작).PostgreSQL대신 각 세션에서 자체적으로 실행해야 합니다.임시 메이저 토토 사이트 생성57868_58130

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

SQL 표준은 또한 전역 임시 테이블과 로컬 임시 테이블을 구별합니다. 여기서 로컬 임시 테이블은 각 세션 내의 각 SQL 모듈에 대해 별도의 콘텐츠 세트를 가지지만 그 정의는 여전히 세션 전체에서 공유됩니다. 부터PostgreSQLSQL 모듈을 지원하지 않습니다. 이 구별은 다음과 관련이 없습니다.PostgreSQL.

호환성을 위해,PostgreSQL수락하겠습니다글로벌그리고로컬임시 테이블 선언에 키워드가 포함되어 있지만 현재는 아무런 효과가 없습니다. 이후 버전의 이후로 이러한 키워드를 사용하지 않는 것이 좋습니다.PostgreSQL그 의미에 대해 보다 표준을 준수하는 해석을 채택할 수 있습니다.

커밋 중59202_59299커밋 중절이 생략되었습니다. SQL은 기본 동작을 다음과 같이 지정합니다.ON 커밋 행 삭제. 그러나 기본 동작은포스트그레SQLis커밋 중 행 보존. 그만큼커밋 삭제 중옵션이 SQL에 존재하지 않습니다.

비지연 고유성 제약조건

때 a고유또는기본 키제약조건은 연기할 수 없습니다.PostgreSQL행이 삽입되거나 수정될 때마다 즉시 고유성을 확인합니다. SQL 표준에 따르면 고유성은 명령문 끝에서만 적용되어야 합니다. 예를 들어 단일 명령이 여러 키 값을 업데이트하는 경우 이는 차이를 만듭니다. 표준을 준수하는 동작을 얻으려면 제약 조건을 다음과 같이 선언하세요.지연 가능그러나 지연되지는 않음(예:처음에는 즉시). 이는 즉각적인 고유성 검사보다 훨씬 느릴 수 있다는 점에 유의하세요.

열 확인 제약 조건

SQL 표준에 따르면확인열 제약조건은 적용되는 열만 참조할 수 있습니다. 오직확인테이블 제약조건은 여러 열을 참조할 수 있습니다.포스트그레SQL이 제한을 적용하지 않습니다. 열과 테이블 검사 제약 조건을 동일하게 처리합니다.

제외제약

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

NULL "제약"

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

상속

다음을 통한 다중 상속상속절은 a포스트그레SQL언어 확장. SQL:1999 이상에서는 다른 구문과 의미를 사용하여 단일 상속을 정의합니다. SQL:1999 스타일 상속은 아직 지원되지 않습니다.포스트그레SQL.

0열 메이저 토토 사이트

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

좋아요

그동안좋아요절은 SQL 표준에 존재하며, 그 중 많은 옵션은포스트그레SQL표준에 포함되지 않았으며 표준 옵션 중 일부가 구현되지 않았으므로 수락합니다.PostgreSQL.

함께

함께절은 a입니다포스트그레SQL확장; 저장소 매개변수나 OID 모두 표준에 없습니다.

메이저 토토 사이트스페이스

PostgreSQL메이저 토토 사이트스페이스 개념은 표준의 일부가 아닙니다. 따라서 조항메이저 토토 사이트스페이스그리고인덱스 메이저 토토 사이트스페이스 사용확장 프로그램입니다.

유형이 지정된 메이저 토토 사이트

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