생성 [ [ 글로벌 | 로컬 ] 임시 | 온도 | 기록되지 않음 ] 스포츠 토토 [ 존재하지 않는 경우 ]테이블_이름 ( [
{ 열_이름 데이터_유형[ 수집조합 ] [ 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절 각각.
지정되면 테이블이 임시 테이블로 생성됩니다. 임시 테이블은 세션이 끝나면 자동으로 삭제됩니다. 또는 선택적으로 현재 트랜잭션이 끝날 때(참조커밋 중아래). 기존 영구 테이블 같은 이름은 현재 세션에 표시되지 않지만 참조되지 않는 한 임시 테이블이 존재합니다. 스키마 한정 이름. 임시 테이블에 생성된 모든 인덱스 자동으로 일시적이기도 합니다.
그자동 진공화 악마액세스할 수 없으므로 진공 청소기로 청소하거나 분석할 수 없습니다. 임시 테이블. 이러한 이유로 적절한 진공 및 분석 작업은 세션 SQL 명령을 통해 수행되어야 합니다. 을 위한 예를 들어 임시 테이블이 컴플렉스에서 사용되는 경우 쿼리를 실행하는 것이 현명합니다.분석에 임시 테이블이 채워진 후입니다.
선택적으로,글로벌또는로컬이전에 쓸 수 있음임시또는온도. 이것 현재는 아무런 차이가 없습니다.PostgreSQL더 이상 사용되지 않습니다. 보다호환성.
지정되면 스포츠 토토은 기록되지 않은 스포츠 토토로 생성됩니다. 데이터 기록되지 않은 스포츠 토토에 기록된 내용은 미리 쓰기 로그에 기록되지 않습니다. (보다사설 토토 : 문서 : 9.3 : 신뢰성과 쓰기 로그), 이로 인해 일반 테이블보다 훨씬 빠릅니다. 그러나 그들은 그렇지 않습니다 충돌 안전: 기록되지 않은 테이블은 다음 후에 자동으로 잘립니다. 충돌 또는 불완전한 종료. 기록되지 않은 테이블의 내용은 다음과 같습니다. 대기 서버에도 복제되지 않습니다. 다음에 생성된 모든 인덱스 기록되지 않은 테이블도 자동으로 기록 해제됩니다.
이미 동일한 이름을 가진 관계가 있는 경우 오류를 발생시키지 마십시오. 존재합니다. 이 경우 통지가 발행됩니다. 없다는 점 참고하세요 기존 관계가 다음과 같은 관계임을 보장합니다. 생성되었을 것입니다.
테이블의 이름(선택적으로 스키마 한정) 생성되었습니다.
생성입력된 스포츠 토토, 이는 지정된 복합 유형의 구조(선택적으로 이름 스키마 한정). 유형이 지정된 스포츠 토토은 해당 유형과 연결되어 있습니다. 예를 들어 유형이 삭제되면 테이블도 삭제됩니다(드롭 유형 ... 캐스케이드).
유형이 지정된 스포츠 토토이 생성되면 다음의 데이터 유형은 열은 기본 복합 유형에 의해 결정되며 열은 그렇지 않습니다. 에 의해 지정됨스포츠 토토 생성명령. 하지만 그만큼스포츠 토토 생성명령으로 기본값을 추가할 수 있습니다. 테이블에 대한 제약 조건을 지정하고 스토리지를 지정할 수 있습니다. 매개변수.
새 테이블에 생성될 열의 이름입니다.
열의 데이터 유형입니다. 여기에는 배열 지정자가 포함될 수 있습니다. 지원되는 데이터 유형에 대한 자세한 내용은PostgreSQL, 참조제8장.
그콜레이트절이 데이터 정렬을 할당합니다. 열에 추가합니다(조합 가능한 데이터 유형이어야 함). 그렇지 않은 경우 지정하면 열 데이터 유형의 기본 데이터 정렬이 사용됩니다.
선택사항상속절이 지정함 새 테이블이 자동으로 상속되는 테이블 목록 모든 열.
사용상속영속성을 생성합니다 새 하위 테이블과 해당 상위 테이블 간의 관계. 상위 항목에 대한 스키마 수정 사항은 일반적으로 다음으로 전파됩니다. 자식도 마찬가지이며 기본적으로 자식 테이블의 데이터는 다음과 같습니다. 부모 스캔에 포함됩니다.
동일한 열 이름이 하나 이상의 상위 테이블에 존재하는 경우, 열의 데이터 유형이 일치하지 않으면 오류가 보고됩니다. 각 상위 테이블. 갈등이 없다면, 중복 열이 병합되어 새 열에서 단일 열을 형성합니다. 테이블. 새 테이블의 열 이름 목록에 열이 포함되어 있는 경우 이름도 상속되므로 데이터 유형도 마찬가지로 일치해야 합니다. 상속된 열과 열 정의가 병합됩니다. 하나. 새 테이블이 명시적으로 기본값을 지정하는 경우 열에서 이 기본값은 상속된 모든 기본값을 재정의합니다. 열의 선언. 그렇지 않으면 다음을 지정하는 모든 부모 열의 기본값은 모두 동일한 기본값을 지정해야 합니다. 오류가 보고됩니다.
확인제약조건이 병합되었습니다. 본질적으로 열과 같은 방식입니다. 상위 테이블이 여러 개인 경우 및/또는 새 테이블 정의에 동일한 이름이 포함되어 있습니다.확인제약조건, 이러한 제약조건은 다음과 같아야 합니다. 모두 동일한 검사 표현식을 갖고 있습니다. 그렇지 않으면 오류가 보고됩니다. 이름과 표현이 같은 제약 조건은 다음으로 병합됩니다. 한 장. 표시된 제약 조건상속 없음상위 항목은 고려되지 않습니다. 이름이 지정되지 않은확인새 테이블의 제약조건은 항상 고유한 이름이 선택되므로 병합되지 않습니다. 그것.
칼럼저장설정도 복사됩니다 상위 스포츠 토토에서.
그좋아요절은 다음에서 테이블을 지정합니다. 새 테이블은 모든 열 이름을 자동으로 복사합니다. 데이터 유형 및 null이 아닌 제약 조건.
달리상속됨, 새 테이블 및 원본 테이블은 생성이 완료된 후 완전히 분리됩니다. 원본 테이블의 변경 사항은 새 테이블에 적용되지 않습니다. 그리고 스캔에 새 테이블의 데이터를 포함하는 것은 불가능합니다. 원래 테이블.
복사된 열 정의에 대한 기본 표현식은 다음과 같습니다.
경우에만 복사됨기본값 포함이다
지정. 기본 동작은 기본 표현식을 제외하는 것입니다.
결과적으로 새 테이블의 복사된 열에 null이 포함됩니다.
기본값. 호출하는 기본값을 복사하면
다음과 같은 데이터베이스 수정 함수다음값, 사이에 기능적 연결을 생성할 수 있습니다.
원본 테이블과 새 테이블.
null이 아닌 제약조건은 항상 새 스포츠 토토에 복사됩니다.확인제약조건은 다음의 경우에만 복사됩니다.제약조건 포함지정되었습니다. 아니요 열 제약 조건과 스포츠 토토이 구별됩니다. 제약.
색인,기본 키, 고유및제외원래 테이블의 제약 조건이 새 테이블에 생성됩니다 경우에만색인 포함지정되었습니다. 새 인덱스 및 제약 조건의 이름은 다음에 따라 선택됩니다. 원본의 이름이 어떻게 지정되었는지에 관계없이 기본 규칙이 적용됩니다. (이 동작은 새 이름에 대한 중복 이름 오류를 방지합니다. 색인.)
저장복사된 열에 대한 설정 정의는 다음 경우에만 복사됩니다.포함 저장지정되었습니다. 기본 동작은 제외하는 것입니다.저장설정으로 인해 복사된 결과가 나타납니다. 유형별 기본 설정이 있는 새 스포츠 토토의 열입니다. 을 위한 자세한 내용은저장설정, 참조섹션 58.2.
복사된 열, 제약 조건 및 색인에 대한 설명은 다음 경우에만 복사됩니다.댓글 포함이다 지정. 기본 동작은 주석을 제외하는 것입니다. 복사된 열과 제약 조건이 없는 새 테이블의 댓글.
모두 포함는의 축약형입니다.제약조건을 포함한 기본값 포함 주석 포함 저장 공간 포함 인덱스 포함.
그와는 다르다는 점에 유의하세요상속됨, 열 및 제약 조건 복사자좋아요병합되지 않음 비슷한 이름의 열과 제약 조건이 있습니다. 이름이 같은 경우 명시적으로 또는 다른 방식으로 지정됨좋아요절, 오류가 발생했습니다.
그좋아요절은 다음 용도로도 사용할 수 있습니다. 뷰, 외부 테이블 또는 복합에서 열 정의 복사 유형. 적용할 수 없는 옵션(예:포함 인덱스보기에서)는 무시됩니다.
열 또는 테이블 제약조건에 대한 선택적 이름입니다. 만약 제약 조건이 위반되었습니다. 제약 조건 이름에 오류가 있습니다. 메시지이므로 제약 조건 이름은col은 다음과 같아야 합니다. 긍정적인유용한 제약 조건을 전달하는 데 사용할 수 있습니다. 클라이언트 애플리케이션에 대한 정보. (큰 따옴표가 필요합니다. 공백이 포함된 제약 조건 이름을 지정하십시오.) 제약 조건 이름이 지정되지 않으면 시스템에서 이름을 생성합니다.
이 열은 null 값을 포함할 수 없습니다.
열에는 null 값이 포함될 수 있습니다. 이것은 기본.
이 조항은 비표준 버전과의 호환성을 위해서만 제공됩니다. SQL 데이터베이스. 새로운 애플리케이션에서는 사용이 권장되지 않습니다.
그확인절은 다음을 지정합니다. 새 행이나 업데이트된 행에 대한 부울 결과를 생성하는 표현식 삽입 또는 업데이트 작업이 성공하려면 다음을 충족해야 합니다. TRUE 또는 UNKNOWN으로 평가되는 표현식은 성공합니다. 행이 있어야 합니다. 삽입 또는 업데이트 작업에서 FALSE 결과가 발생하면 오류가 발생합니다. 예외가 발생하고 삽입이나 업데이트가 데이터 베이스. 열 제약 조건으로 지정된 검사 제약 조건 해당 열의 값만 참조해야 하지만 표현식은 테이블 제약 조건에 나타나는 것은 여러 열을 참조할 수 있습니다.
현재,확인표현식은 사용할 수 없습니다. 하위 쿼리를 포함하지 않으며 해당 열 이외의 변수를 참조하지도 않습니다. 현재 행.
다음으로 표시된 제약 조건상속 없음하위 스포츠 토토에 전파되지 않습니다.
그기본값절은 기본값을 할당합니다 열 정의가 나타나는 열의 데이터 값 이내에. 값은 변수가 없는 표현식(하위 쿼리 및 현재 테이블의 다른 열에 대한 상호 참조는 지원되지 않습니다. 허용된). 기본 표현식의 데이터 유형은 다음과 일치해야 합니다. 열의 데이터 유형입니다.
기본 표현식은 다음과 같은 모든 삽입 작업에 사용됩니다. 열의 값을 지정하지 않습니다. 기본값이 없는 경우 열인 경우 기본값은 null입니다.
그고유제약조건은 다음을 지정합니다. 하나 이상의 테이블 열 그룹에는 고유한 항목만 포함될 수 있습니다. 가치. 고유 테이블 제약 조건의 동작은 다음과 같습니다. 열 제약 조건의 경우 확장할 수 있는 추가 기능이 있습니다. 여러 열.
고유 제약조건의 목적으로 널값은 허용되지 않습니다. 동등한 것으로 간주됩니다.
각 고유 테이블 제약조건은 다음과 같은 열 세트의 이름을 지정해야 합니다. 다른 고유 또는 이름으로 명명된 열 집합과 다릅니다. 테이블에 대해 정의된 기본 키 제약 조건입니다. (그렇지 않으면 그럴 것이다. 두 번 나열된 동일한 제약 조건이 됩니다.)
그기본 키제약조건이 지정함 테이블의 열에는 고유한 항목만 포함될 수 있습니다. (중복되지 않음), Null이 아닌 값. 기본 키는 하나만 가능 열 제약 조건이든 테이블이든 관계없이 테이블에 대해 지정됨 강제.
기본 키 제약 조건은 다음과 같은 열 집합의 이름을 지정해야 합니다. 고유 제약 조건으로 명명된 열 집합과 다릅니다. 동일한 테이블에 대해 정의되었습니다. (그렇지 않으면 고유 제약 조건은 다음과 같습니다. 중복되므로 폐기됩니다.)
기본 키동일한 데이터를 시행합니다. 제약 조건의 조합고유그리고NULL이 아님, 그러나 열 집합을 식별함 기본 키는 디자인에 대한 메타데이터도 제공하므로 기본 키는 다른 테이블이 의존할 수 있음을 의미하므로 스키마 이 열 집합을 행의 고유 식별자로 사용합니다.
그제외절은 제외를 정의합니다. 제약 조건은 두 행이 비교되는 경우 다음을 보장합니다. 지정된 열 또는 지정된 표현식을 사용하는 표현식 연산자, 이러한 비교가 모두 반환되지는 않습니다.참. 지정된 연산자가 모두 테스트된 경우 평등, 이는 a와 같습니다.고유제약, 일반 고유 제약이 더 빠르지만. 그러나 제외 제약조건은 다음과 같은 제약조건을 지정할 수 있습니다. 단순한 평등보다 더 일반적입니다. 예를 들어 다음을 지정할 수 있습니다. 테이블의 두 행이 겹치지 않도록 제한 서클(참조PostgreSQL : 문서 : 9.3 : 기하학적 토토 캔) 작성자 를 사용하여&&연산자.
제외 제약조건은 색인을 사용하여 구현되므로 각 지정된 연산자는 적절한 연산자와 연결되어야 합니다. 수업(참조스포츠 토토 베트맨 : 문서 : 9.3 : 운영자 클래스 및 운영자 가족) 인덱스 액세스 방법index_method. 연산자는 교환 가능해야 합니다. 각제외_요소선택적으로 지정할 수 있습니다. 연산자 클래스 및/또는 주문 옵션; 이것들은 완전히 설명되어 있습니다 아래에PostgreSQL : 문서 : 9.3 : 색인 배트맨 토토.
액세스 방법이 다음을 지원해야 합니다.amgettuple(참조PostgreSQL : 문서 : 9.3 : 인덱스 메이저 토토 사이트 방법 인터페이스 정의); 현재 이것은 의미합니다진사용할 수 없습니다. 허용되기는 하지만, B-트리 또는 해시 인덱스를 사용하는 데는 거의 의미가 없습니다. 제외 제약 조건은 일반적인 제약 조건과 아무 관련이 없기 때문입니다. 고유 제약 조건은 더 좋지 않습니다. 따라서 실제로 액세스 메서드는 항상 다음과 같습니다GiST또는SP-GiST.
그술어당신은 다음을 할 수 있습니다 테이블의 하위 집합에 대한 제외 제약 조건을 지정합니다. 내부적으로 이는 부분 인덱스를 생성합니다. 참고로 괄호는 술어 주위에 필요합니다.
이 절은 외래 키 제약 조건을 지정합니다. 새 테이블의 하나 이상의 열 그룹은 참조된 열의 값과 일치하는 값을 포함합니다. 참조된 테이블의 일부 행. 만약refcolumn목록이 생략되었습니다. 기본 키는 다음과 같습니다. 그만큼재조정 가능이 사용됩니다. 그만큼 참조된 열은 지연할 수 없는 고유 열이어야 합니다. 또는 참조된 테이블의 기본 키 제약 조건입니다. 참고하세요 임시 테이블 간에는 외래 키 제약 조건을 정의할 수 없습니다. 및 영구 테이블.
참조 열에 삽입된 값이 일치합니다. 참조된 테이블 및 참조된 열의 값에 대해 지정된 일치 유형을 사용합니다. 세 가지 일치 유형이 있습니다.전체 일치, 부분 일치, 그리고간단한 일치(기본값).전체 일치다음 열 중 하나를 허용하지 않습니다. 모든 외래 키 열이 아닌 한 다중 열 외래 키는 null이 됩니다. null입니다. 모두 null인 경우 행에는 참조된 테이블과 일치합니다.일치 단순한외래 키 열 중 하나라도 null이 되도록 허용합니다. 만약에 그 중 하나라도 null이면 행에 일치 항목이 필요하지 않습니다. 참조된 테이블입니다.부분 일치아님 아직 구현되었습니다. (물론,NULL이 아님제약조건을 참조 열에 적용하여 방지할 수 있습니다. 이러한 경우가 발생합니다.)
또한 참조된 열의 데이터가 변경되면, 이 테이블 열의 데이터에 대해 특정 작업이 수행됩니다. 그만큼삭제 중절은 작업을 지정합니다. 참조된 테이블의 참조된 행이 실행될 때 수행할 작업 삭제되었습니다. 마찬가지로,업데이트 중절 참조된 열이 있을 때 수행할 작업을 지정합니다. 참조된 테이블이 새 값으로 업데이트되고 있습니다. 행이 업데이트되었지만 참조된 열은 실제로 변경되지 않았습니다. 조치가 완료되었습니다. 이외의 참조 작업조치 없음검사는 연기될 수 없습니다. 제약 조건이 연기 가능하다고 선언되었습니다. 다음과 같은 것이 가능합니다 각 조항에 대한 작업:
삭제 또는 업데이트가 완료되었음을 나타내는 오류를 생성합니다. 외래 키 제약 조건 위반을 만듭니다. 제약조건이 다음과 같은 경우 지연된 경우 이 오류는 제약 조건 확인 시 생성됩니다. 참조 행이 여전히 존재합니다. 이것이 기본값입니다 행동.
삭제 또는 업데이트가 이루어졌음을 나타내는 오류를 생성합니다. 외래 키 제약 조건 위반을 만듭니다. 이는 다음과 같습니다.조치 없음수표가 아닌 것을 제외하고 연기할 수 있습니다.
삭제된 행을 참조하는 모든 행을 삭제하거나 참조 열의 값을 각각 참조된 열입니다.
참조 열을 null로 설정하십시오.
참조 열을 기본값으로 설정합니다. (거기 기본값과 일치하는 참조 테이블의 행이어야 합니다. null이 아니면 작업이 실패합니다.)
참조된 열이 자주 변경되는 경우, 참조 열에 인덱스를 추가하는 것이 현명합니다. 외래 키 제약 조건과 관련된 참조 작업은 다음과 같습니다. 보다 효율적으로 수행됩니다.
이것은 제약조건을 연기할 수 있는지 여부를 제어합니다. 에이 연기할 수 없는 제약조건은 즉시 확인됩니다. 모든 명령. 연기 가능한 제약 조건을 확인하는 것은 다음과 같습니다. 거래가 끝날 때까지 연기됩니다(제약조건 설정명령).지연할 수 없음기본값입니다. 현재는 만고유함, 기본 열쇠, 제외및참조(외래 키) 제약 조건이 이를 허용합니다. 절.NULL이 아님그리고확인제약조건은 연기할 수 없습니다.
제약조건이 연기 가능한 경우 이 절은 기본값을 지정합니다. 제약 조건을 확인할 시간입니다. 제약 조건이 다음과 같은 경우처음에는 즉시, 각 후에 확인됩니다. 성명. 이것이 기본값입니다. 제약 조건이 다음과 같은 경우처음에는 연기됨, 마지막에만 확인됩니다. 거래. 제약 조건 확인 시간은 다음을 사용하여 변경할 수 있습니다.PostgreSQL : 문서 : 9.3 : 범퍼카 토토 설정명령.
이 절은 테이블 또는 색인; 보다저장 매개변수더 많은 정보를 원하시면. 그만큼함께테이블에 대한 절에는 다음도 포함될 수 있습니다.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.3 : Alter Table.
다음과 동등한 구식 구문입니다.WITH(OIDS)그리고함께 (OIDS=거짓)입니다. 둘 다 제공하고 싶다면OIDS설정 및 저장 매개변수, 당신은 반드시 사용해야 합니다.함께 ( ... )구문; 보다 위에.
트랜잭션 종료 시 임시 테이블의 동작 블록은 다음을 사용하여 제어할 수 있습니다.커밋 중. 세 가지 옵션은 다음과 같습니다.
거래 종료 시 특별한 조치가 취해지지 않습니다. 이것은 기본 동작입니다.
임시 테이블의 모든 행은 다음 날짜가 끝나면 삭제됩니다. 각 거래 블록. 기본적으로 자동잘라내기각 커밋에서 수행됩니다.
임시 테이블은 현재 기간이 끝나면 삭제될 것입니다. 거래 차단.
그스포츠 토토스페이스_이름이름은 새 테이블이 생성될 스포츠 토토스페이스의 이름입니다. 그렇지 않은 경우 지정됨,default_tablespace상담되었거나temp_tablespaces테이블이 임시인 경우.
이 절은 다음이 있는 스포츠 토토스페이스를 선택할 수 있도록 허용합니다. a와 관련된 인덱스고유, 기본 키또는제외제약조건이 생성됩니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.
그함께절은 지정할 수 있음저장 매개변수스포츠 토토 및 인덱스용 a와 연관됨고유, 기본 키또는제외제약. 인덱스의 저장소 매개변수는 다음 문서에 설명되어 있습니다.PostgreSQL : 문서 : 9.3 : 색인 배트맨 토토. 저장 현재 테이블에 사용할 수 있는 매개변수는 다음과 같습니다. 을 위한 별도의 언급이 없는 한 각 매개변수에는 다음과 같은 추가 매개변수가 있습니다. 라는 접두사가 붙은 동일한 이름토스트., 테이블의 보조 동작을 제어하는 데 사용할 수 있습니다.토스트테이블(있는 경우)(참조섹션 58.2자세한 정보는 토스트에 대해). TOAST 테이블은 다음을 상속합니다.autovacuum_*상위 스포츠 토토의 값(있는 경우) 아니요toast.autovacuum_*설정 세트.
테이블의 채우기 비율은 10에서 100 사이의 백분율입니다. 100(완전 패킹)이 기본값입니다. fillfactor가 더 작은 경우 지정됨,삽입작업 팩 스포츠 토토 표시된 비율까지만 페이지를 표시합니다. 각각 남은 공간 페이지는 해당 페이지의 행을 업데이트하기 위해 예약되어 있습니다. 이것은업데이트업데이트된 사본을 배치할 기회 원본과 같은 페이지에 행을 추가하는 것이 더 효율적입니다. 다른 페이지에 배치하는 것보다. 항목이 다음과 같은 테이블의 경우 업데이트되지 않았으며 완전한 포장이 최선의 선택이지만 업데이트된 테이블의 채우기 비율이 더 작은 것이 적합합니다. 이 매개변수 TOAST 테이블에는 설정할 수 없습니다.
특정 테이블에서 autovacuum 데몬을 활성화 또는 비활성화합니다. true인 경우 autovacuum 데몬은 다음을 시작합니다.진공특정 테이블에 대한 작업 업데이트되거나 삭제된 튜플 수가 초과되었습니다.autovacuum_vacuum_threshold플러스autovacuum_vacuum_scale_factor횟수 현재 관계에 있는 것으로 추정되는 라이브 튜플입니다. 비슷하게, 그것은 시작됩니다분석작동할 때 삽입, 업데이트 또는 삭제된 튜플 수가 초과되었습니다.autovacuum_analyze_threshold플러스autovacuum_analyze_scale_factor배 현재 관계에 있는 것으로 추정되는 라이브 튜플의 수입니다. 만약에 false인 경우, 이 테이블은 방지하는 경우를 제외하고는 자동으로 진공화되지 않습니다. 거래 ID 랩어라운드. 보다섹션 23.1.5랩어라운드 방지에 대해 자세히 알아보세요. 이 변수를 관찰하십시오 해당 값은에서 상속됩니다.자동 진공설정.
시작하기 전 업데이트되거나 삭제된 튜플의 최소 수진공특정 작업에 대한 작업 스포츠 토토.
승수reltuples추가하려면autovacuum_vacuum_threshold.
이전에 삽입, 업데이트 또는 삭제된 튜플의 최소 수 시작하다분석작업 특정 스포츠 토토.
다음에 대한 승수reltuples추가하려면autovacuum_analyze_threshold.
커스텀autovacuum_vacuum_cost_delay매개변수.
커스텀autovacuum_vacuum_cost_limit매개변수.
커스텀vacuum_freeze_min_age매개변수. autovacuum은 테이블당autovacuum_freeze_min_age더 크게 시스템 전체의 절반 이상autovacuum_freeze_max_age설정.
커스텀autovacuum_freeze_max_age매개변수. autovacuum은 테이블당autovacuum_freeze_max_age더 크게 시스템 전체 설정보다 더 작습니다(더 작게만 설정할 수 있음).
커스텀vacuum_freeze_table_age매개변수.
커스텀vacuum_multixact_freeze_min_age매개변수. autovacuum은 테이블당autovacuum_multixact_freeze_min_age절반보다 큼 시스템 전체autovacuum_multixact_freeze_max_age설정.
커스텀autovacuum_multixact_freeze_max_age매개변수. 참고하세요 autovacuum은 테이블별 설정 시도를 무시합니다.autovacuum_multixact_freeze_max_age보다 크다 시스템 전체 설정(더 작게만 설정할 수 있음).
새 응용 프로그램에서 OID를 사용하는 것은 권장되지 않습니다. 가능합니다.연재또는 다른 시퀀스 테이블의 기본 키로 생성기를 사용하는 것이 좋습니다. 그러나 귀하의 경우 애플리케이션은 OID를 사용하여 특정 행을 식별합니다. 테이블에 고유 제약 조건을 생성하는 것이 좋습니다.oid해당 테이블의 열을 확인합니다. 테이블의 OID는 실제로 행을 고유하게 식별합니다. 카운터 랩어라운드 후. OID가 고유하다고 가정하지 마세요. 테이블 전체에서; 데이터베이스 전체의 고유 식별자가 필요한 경우 다음을 사용하십시오. 의 조합스포츠 토토로이드및 행 OID를 목적으로 합니다.
팁:사용OIDS=FALSE이다 기본 키가 없는 테이블에는 권장되지 않습니다. OID 또는 고유 데이터 키 중 하나를 식별하기가 어렵습니다. 특정 행.
포스트그레SQL자동으로 각 고유 제약 조건과 기본 키에 대한 인덱스를 생성합니다. 고유성을 강제하는 제약 조건. 따라서, 기본 키 열에 대해 명시적으로 인덱스를 만듭니다. (보다색인 생성자세한 내용은.)
고유 제약 조건과 기본 키는 다음에서 상속되지 않습니다. 현재 구현. 이것은 상속의 결합을 만든다. 고유한 제약 조건은 다소 역기능적입니다.
테이블은 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 직원_유형 AS (이름 텍스트, 급여 숫자);
Employee_type의 직원 테이블 만들기(
기본 키(이름),
옵션 기본값이 1000인 급여
);그스포츠 토토 생성명령은 다음을 준수합니다 그만큼SQL표준, 다음과 함께 아래에 나열된 예외.
비록 구문은임시 생성 테이블SQL 표준과 유사하지만 효과는 없습니다. 동일합니다. 표준에서는 임시 테이블이 한 번만 정의됩니다. 모든 항목에 자동으로 존재합니다(빈 내용으로 시작). 필요한 세션입니다.PostgreSQL대신 각 세션은 다음을 수행해야 합니다. 자체적으로 발행임시 스포츠 토토 생성57386_57648
임시 테이블의 동작에 대한 표준 정의는 다음과 같습니다. 널리 무시됩니다.PostgreSQL의 이 시점의 동작은 다른 여러 SQL의 동작과 유사합니다. 데이터베이스.
SQL 표준은 또한 글로벌과 로컬을 구별합니다. 로컬 임시 테이블에 별도의 세트가 있는 임시 테이블 각 세션 내의 각 SQL 모듈에 대한 내용은 정의는 여전히 세션 간에 공유됩니다. 부터포스트그레SQLSQL 모듈을 지원하지 않습니다. 이것은 구별은 관련이 없습니다PostgreSQL.
호환성을 위해,PostgreSQL수락하겠습니다글로벌그리고로컬키워드 임시 테이블 선언에 있지만 현재는 없습니다. 효과. 향후 버전에서는 이러한 키워드를 사용하지 않는 것이 좋습니다. 의PostgreSQL더 많은 것을 채택할 수도 있습니다 그 의미에 대한 표준 준수 해석.
그커밋 중임시절 테이블도 SQL 표준과 유사하지만 몇 가지 차이점이 있습니다. 만약커밋 중절이 생략되었습니다. SQL 기본 동작을 다음과 같이 지정합니다.켜짐 행 삭제 커밋. 그러나 기본 동작은PostgreSQLisON 커밋 보존 행. 그만큼켜짐 커밋 삭제SQL에 옵션이 없습니다.
언제고유또는기본 키제약조건은 연기할 수 없습니다.PostgreSQL고유성을 확인합니다 행이 삽입되거나 수정될 때마다 즉시. SQL 표준에 따르면 고유성은 끝에서만 적용되어야 합니다. 성명서; 예를 들어 단일 명령은 여러 키 값을 업데이트합니다. 표준 규격을 얻으려면 동작, 제약 조건을 다음과 같이 선언합니다.지연 가능그러나 연기되지는 않음(예:처음에는 즉시). 그럴 수 있다는 점 알아두세요 즉각적인 고유성 검사보다 훨씬 느립니다.
SQL 표준에 따르면확인열 제약 조건은 적용되는 열만 참조할 수 있습니다. 오직확인테이블 제약조건은 다음을 참조할 수 있습니다. 여러 열.포스트그레SQL그렇습니다 이 제한을 시행하지 마십시오. 열과 테이블 검사를 처리합니다. 제약 조건이 동일합니다.
그NULL "제약"(실제로는 비제약)은포스트그레SQLSQL 확장 다른 표준과의 호환성을 위해 포함된 표준 데이터베이스 시스템(및 대칭을 위해)아님 NULL제약). 이는 모든 열의 기본값이므로 존재는 단순한 소음이다.
다음을 통한 다중 상속상속절은 a입니다포스트그레SQL언어 확대. SQL:1999 이상에서는 다음을 사용하여 단일 상속을 정의합니다. 다른 구문과 다른 의미. SQL:1999 스타일 상속은 아직 지원되지 않습니다.포스트그레SQL.
포스트그레SQL아니오 테이블을 허용합니다 생성할 열(예:만들기 스포츠 토토 foo();). 이는 SQL 표준의 확장입니다. 열이 없는 테이블은 허용되지 않습니다. 열이 없는 테이블은 그렇지 않습니다. 그 자체로는 매우 유용하지만 이를 허용하지 않으면 이상한 특수 효과가 생성됩니다. 에 대한 사례테이블 드롭 열 변경그러니까 이 사양 제한을 무시하는 것이 더 깔끔해 보입니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 서버 생성 | 위로 | 다음으로 스포츠 토토 생성 |