| 젠 토토 : 문서 : 9.6 : 젠 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.6 : 스포츠 토토 사이트 생성 | 토토 사이트 순위 PostgreSQL : 문서 : 9.6 : SQL 명령 | PostgreSQL : 문서 : 9.6 : 토토 캔 작성 | |
[ [ 글로벌 | 로컬 ] 임시 | 온도 | 기록되지 않음 ] 스포츠 토토 [ 존재하지 않는 경우 ]테이블_이름 ( [
{ 열_이름 데이터_유형[ 수집조합 ] [ 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더 이상 사용되지 않습니다. 보다호환성.
지정되면 스포츠 토토은 기록되지 않은 스포츠 토토로 생성됩니다. 기록되지 않은 스포츠 토토에 기록된 데이터는 미리 쓰기 로그에 기록되지 않습니다(참조사설 토토 사이트 : 문서 : 9.6 : 신뢰성 및 쓰기 로그), 이는 일반 테이블보다 훨씬 빠릅니다. 그러나 충돌로부터 안전하지는 않습니다. 충돌 또는 비정상 종료 후에 기록되지 않은 테이블이 자동으로 잘립니다. 로그되지 않은 테이블의 내용도 대기 서버에 복제되지 않습니다. 기록되지 않은 테이블에 생성된 모든 인덱스도 자동으로 기록 해제됩니다.
같은 이름의 관계가 이미 존재하는 경우 오류를 발생시키지 마십시오. 이 경우 통지가 발행됩니다. 기존 관계가 생성되었을 관계와 유사하다는 보장은 없습니다.
생성될 테이블의 이름(선택적으로 스키마 한정).
생성입력된 스포츠 토토, 지정된 복합 유형(선택적으로 스키마 한정 이름)에서 구조를 가져옵니다. 유형이 지정된 스포츠 토토은 해당 유형과 연결되어 있습니다. 예를 들어 유형이 삭제되면 테이블도 삭제됩니다(드롭 유형 ... 캐스케이드).
유형이 지정된 스포츠 토토이 생성되면 열의 데이터 유형은 기본 복합 유형에 의해 결정되며 다음으로 지정되지 않습니다.스포츠 토토 생성명령. 하지만스포츠 토토 생성명령은 테이블에 기본값과 제약 조건을 추가할 수 있으며 저장 매개변수를 지정할 수 있습니다.
새 테이블에 생성될 열의 이름입니다.
열의 데이터 유형. 여기에는 배열 지정자가 포함될 수 있습니다. 지원되는 데이터 유형에 대한 자세한 내용은PostgreSQL, 참조PostgreSQL : 문서 : 9.6 : 데이터 배트맨 토토.
그콜레이트절은 열(조합 가능한 데이터 유형이어야 함)에 데이터 정렬을 할당합니다. 지정하지 않으면 열 데이터 유형의 기본 데이터 정렬이 사용됩니다.
선택사항상속절은 새 테이블이 모든 열을 자동으로 상속하는 테이블 목록을 지정합니다. 상위 테이블은 일반 테이블이거나 외부 테이블일 수 있습니다.
사용상속됨새 하위 테이블과 상위 테이블 사이에 지속적인 관계를 생성합니다. 상위 테이블에 대한 스키마 수정 사항은 일반적으로 하위 테이블에도 전파되며 기본적으로 하위 테이블의 데이터는 상위 테이블 스캔에 포함됩니다.
동일한 열 이름이 하나 이상의 상위 테이블에 존재하는 경우, 열의 데이터 유형이 각 상위 테이블에서 일치하지 않으면 오류가 보고됩니다. 충돌이 없으면 중복 열이 병합되어 새 테이블에 단일 열이 형성됩니다. 새 테이블의 열 이름 목록에 상속된 열 이름이 포함된 경우 데이터 유형도 상속된 열과 일치해야 하며 열 정의는 하나로 병합됩니다. 새 테이블이 열의 기본값을 명시적으로 지정하는 경우 이 기본값은 열의 상속된 선언에서 모든 기본값을 재정의합니다. 그렇지 않으면 열의 기본값을 지정하는 모든 상위 항목이 모두 동일한 기본값을 지정해야 합니다. 그렇지 않으면 오류가 보고됩니다.
확인제약조건은 기본적으로 열과 동일한 방식으로 병합됩니다. 여러 상위 테이블 및/또는 새 테이블 정의에 동일한 이름이 포함된 경우확인제약조건, 이러한 제약조건은 모두 동일한 검사 표현식을 가져야 합니다. 그렇지 않으면 오류가 보고됩니다. 이름과 표현식이 동일한 제약조건은 하나의 복사본으로 병합됩니다. 표시된 제약 조건상속 없음상위 항목은 고려되지 않습니다. 이름이 지정되지 않은확인새 테이블의 제약조건은 병합되지 않습니다. 왜냐하면 고유한 이름이 항상 선택되기 때문입니다.
칼럼저장설정은 상위 스포츠 토토에서도 복사됩니다.
그좋아요절은 새 테이블이 모든 열 이름, 해당 데이터 유형 및 null이 아닌 제약 조건을 자동으로 복사하는 테이블을 지정합니다.
달리상속됨, 생성이 완료된 후 새 테이블과 원본 테이블이 완전히 분리됩니다. 원본 테이블에 대한 변경 사항은 새 테이블에 적용되지 않으며 원본 테이블 스캔에 새 테이블의 데이터를 포함할 수 없습니다.
복사된 열 정의에 대한 기본 표현식은 다음 경우에만 복사됩니다.기본값 포함이 지정되었습니다. 기본 동작은 기본 표현식을 제외하여 새 테이블에 복사된 열의 기본값이 null이 되는 것입니다. 다음과 같은 데이터베이스 수정 함수를 호출하는 기본값 복사에 유의하세요.다음발, 원본 테이블과 새 테이블 사이에 기능적 연결을 생성할 수 있습니다.
null이 아닌 제약조건은 항상 새 스포츠 토토에 복사됩니다.확인제약조건은 다음의 경우에만 복사됩니다.제약조건 포함지정되었습니다. 열 제약조건과 스포츠 토토 제약조건은 구분되지 않습니다.
색인,기본 키, 고유및제외원래 테이블의 제약 조건은 다음 경우에만 새 테이블에 생성됩니다.색인 포함지정되었습니다. 새 인덱스 및 제약 조건의 이름은 원본 이름 지정 방법에 관계없이 기본 규칙에 따라 선택됩니다. (이 동작은 새 인덱스에 대한 중복 이름 오류를 방지합니다.)
저장복사된 열 정의에 대한 설정은 다음 경우에만 복사됩니다.저장소 포함지정되었습니다. 기본 동작은 제외하는 것입니다.저장설정으로 인해 새 스포츠 토토의 복사된 열은 유형별 기본 설정을 갖게 됩니다. 자세한 내용은저장설정, 참조PostgreSQL : 문서 : 9.6 : 토토 사이트.
복사된 열, 제약 조건 및 색인에 대한 설명은 다음 경우에만 복사됩니다.댓글 포함이 지정되었습니다. 기본 동작은 주석을 제외하는 것입니다. 그러면 새 테이블의 복사된 열과 제약 조건에 주석이 없습니다.
모두 포함은의 축약형입니다.주석을 포함하는 저장 공간을 포함하는 인덱스를 포함하는 제약 조건을 포함하는 기본값 포함.
그와는 다르다는 점에 유의하세요상속됨, 복사된 열 및 제약조건좋아요비슷한 이름의 열 및 제약 조건과 병합되지 않습니다. 동일한 이름이 명시적으로 지정되었거나 다른 이름으로 지정된 경우좋아요절, 오류가 발생했습니다.
그좋아요절은 뷰, 외부 테이블 또는 복합 유형에서 열 정의를 복사하는 데에도 사용할 수 있습니다. 적용할 수 없는 옵션(예:색인 포함보기에서)는 무시됩니다.
열 또는 테이블 제약조건에 대한 선택적 이름입니다. 제약 조건을 위반하면 오류 메시지에 제약 조건 이름이 표시되므로 다음과 같은 제약 조건 이름이 표시됩니다.col은 양수여야 합니다.클라이언트 애플리케이션에 유용한 제약 정보를 전달하는 데 사용할 수 있습니다. (공백이 포함된 제약 조건 이름을 지정하려면 큰따옴표가 필요합니다.) 제약 조건 이름을 지정하지 않으면 시스템에서 이름을 생성합니다.
이 열은 null 값을 포함할 수 없습니다.
열에는 null 값이 포함될 수 있습니다. 이것이 기본값입니다.
이 절은 비표준 SQL 데이터베이스와의 호환성을 위해서만 제공됩니다. 새로운 애플리케이션에서는 사용이 권장되지 않습니다.
그확인절은 삽입 또는 업데이트 작업이 성공하기 위해 새 행 또는 업데이트된 행이 충족해야 하는 부울 결과를 생성하는 표현식을 지정합니다. TRUE 또는 UNKNOWN으로 평가되는 표현식은 성공합니다. 삽입 또는 업데이트 작업의 행에서 FALSE 결과가 생성되면 오류 예외가 발생하고 삽입 또는 업데이트가 데이터베이스를 변경하지 않습니다. 열 제약 조건으로 지정된 검사 제약 조건은 해당 열의 값만 참조해야 하는 반면, 테이블 제약 조건에 나타나는 표현식은 여러 열을 참조할 수 있습니다.
현재,확인식은 하위 쿼리를 포함할 수 없으며 현재 행의 열 이외의 변수를 참조할 수 없습니다(참조섹션 5.3.1). 시스템 열스포츠 토토로이드참조될 수 있지만 다른 시스템 열은 참조될 수 없습니다.
다음으로 표시된 제약 조건상속 없음하위 스포츠 토토에 전파되지 않습니다.
스포츠 토토에 여러 개가 있는 경우확인제약조건, 확인 후 이름별 알파벳순으로 각 행에 대해 테스트됩니다.NULL이 아님제약. (PostgreSQL9.5 이전 버전에서는 특정 실행 명령을 따르지 않았습니다.확인제약조건.)
그기본값절은 열 정의가 나타나는 열에 대한 기본 데이터 값을 할당합니다. 값은 변수가 없는 표현식입니다. 현재 테이블의 다른 열에 대한 하위 쿼리 및 상호 참조는 허용되지 않습니다. 기본 표현식의 데이터 유형은 열의 데이터 유형과 일치해야 합니다.
기본 표현식은 열의 값을 지정하지 않는 모든 삽입 작업에 사용됩니다. 열에 대한 기본값이 없으면 기본값은 null입니다.
그고유제약조건은 테이블의 하나 이상의 열 그룹이 고유한 값만 포함할 수 있음을 지정합니다. 고유 테이블 제약 조건의 동작은 고유 열 제약 조건의 동작과 동일하며 여러 열에 걸쳐 있는 추가 기능이 있습니다. 따라서 제약 조건은 두 행 중 적어도 하나의 열이 달라야 함을 강제합니다.
고유 제약조건의 목적상 null 값은 동일한 것으로 간주되지 않습니다.
각 고유 제약 조건은 테이블에 정의된 다른 고유 또는 기본 키 제약 조건에 의해 명명된 열 집합과 다른 열 집합의 이름을 지정해야 합니다. (그렇지 않으면 중복된 고유 제약 조건이 삭제됩니다.)
그기본 키제약조건은 테이블의 열이 고유한(중복되지 않은) Null이 아닌 값만 포함할 수 있음을 지정합니다. 열 제약조건이든 테이블 제약조건이든 관계없이 테이블에는 하나의 기본 키만 지정할 수 있습니다.
기본 키 제약 조건은 동일한 테이블에 대해 정의된 고유 제약 조건에 의해 명명된 열 집합과 다른 열 집합의 이름을 지정해야 합니다. (그렇지 않으면 고유 제약 조건이 중복되어 삭제됩니다.)
기본 키다음의 조합과 동일한 데이터 제약 조건을 적용합니다.고유그리고NULL이 아님. 그러나 열 집합을 기본 키로 식별하면 스키마 설계에 대한 메타데이터도 제공됩니다. 기본 키는 다른 테이블이 이 열 집합을 행의 고유 식별자로 사용할 수 있음을 의미하기 때문입니다.
추가기본 키제약조건은 제약조건에 사용된 열 또는 열 그룹에 고유한 btree 인덱스를 자동으로 생성합니다.
그제외절은 지정된 연산자를 사용하여 지정된 열 또는 표현식에서 두 행을 비교할 경우 이러한 비교 중 일부가 반환되지 않도록 보장하는 제외 제약 조건을 정의합니다.참. 지정된 모든 연산자가 동일성을 테스트하는 경우 이는 a와 같습니다.고유제약, 일반 고유 제한이 더 빠르지만. 그러나 제외 제약 조건은 단순한 동등성보다 더 일반적인 제약 조건을 지정할 수 있습니다. 예를 들어, 테이블의 두 행에 겹치는 원이 포함되지 않도록 제약 조건을 지정할 수 있습니다(참조PostgreSQL : 문서 : 9.6 : 기하학적 스포츠 토토)를 사용하여&&연산자.
제외 제약 조건은 색인을 사용하여 구현되므로 지정된 각 연산자는 적절한 연산자 클래스와 연결되어야 합니다(참조PostgreSQL : 문서 : 9.6 : 스포츠 토토 결과 클래스 및 스포츠 토토 결과 가족) 인덱스 액세스 방법의 경우index_method. 연산자는 교환 가능해야 합니다. 각제외_요소선택적으로 연산자 클래스 및/또는 순서 옵션을 지정할 수 있습니다. 자세한 내용은 아래에 자세히 설명되어 있습니다.PostgreSQL : 문서 : 9.6 : 색인 범퍼카 토토.
액세스 방법이 다음을 지원해야 합니다.amgettuple(참조토토 사이트 추천 : 문서 : 9.6 : 인덱스 액세스 방법 인터페이스 정의); 현재 이것은 의미합니다진사용할 수 없습니다. 허용되기는 하지만 제외 제약 조건이 있는 B-트리 또는 해시 인덱스를 사용하는 것은 별 의미가 없습니다. 이는 일반 고유 제약 조건이 더 잘 수행하지 못하는 작업을 수행하지 않기 때문입니다. 따라서 실제로 액세스 방법은 항상 다음과 같습니다.GiST또는SP-GiST.
그술어테이블의 하위 집합에 대한 제외 제약 조건을 지정할 수 있습니다. 내부적으로 이는 부분 인덱스를 생성합니다. 술어 주위에는 괄호가 필요합니다.
이 절은 외래 키 제약 조건을 지정합니다. 이는 새 테이블의 하나 이상의 열 그룹이 참조 테이블의 일부 행에 있는 참조 열의 값과 일치하는 값만 포함해야 함을 의미합니다. 만약refcolumn목록이 생략되었습니다. 기본 키는재조정 가능사용됩니다. 참조된 열은 참조된 테이블의 지연 불가능한 고유 또는 기본 키 제약 조건의 열이어야 합니다. 임시 테이블과 영구 테이블 간에는 외래 키 제약 조건을 정의할 수 없습니다.
참조 열에 삽입된 값은 지정된 일치 유형을 사용하여 참조 테이블 및 참조 열의 값과 일치됩니다. 세 가지 일치 유형이 있습니다.전체 일치, 부분 일치및간단한 일치(기본값).전체 일치모든 외래 키 열이 null이 아닌 한 여러 열 외래 키의 한 열이 null이 되는 것을 허용하지 않습니다. 모두 null인 경우 해당 행은 참조된 테이블에서 일치 항목을 가질 필요가 없습니다.간단한 일치외래 키 열이 null이 되도록 허용합니다. 그 중 null이 있으면 해당 행은 참조된 테이블에서 일치 항목을 가질 필요가 없습니다.부분 일치아직 구현되지 않았습니다. (물론,NULL이 아님이런 경우가 발생하는 것을 방지하기 위해 참조 열에 제약 조건을 적용할 수 있습니다.)
또한 참조된 열의 데이터가 변경되면 이 테이블 열의 데이터에 특정 작업이 수행됩니다. 그만큼삭제 중절은 참조 테이블의 참조 행이 삭제될 때 수행할 작업을 지정합니다. 마찬가지로,업데이트 중절은 참조 테이블의 참조 열이 새 값으로 업데이트될 때 수행할 작업을 지정합니다. 행이 업데이트되었지만 참조된 열이 실제로 변경되지 않은 경우 아무 작업도 수행되지 않습니다. 이외의 참조 작업조치 없음제약조건이 연기 가능으로 선언된 경우에도 검사를 연기할 수 없습니다. 각 조항에 대해 다음과 같은 가능한 작업이 있습니다.
삭제 또는 업데이트로 인해 외래 키 제약 조건 위반이 발생함을 나타내는 오류가 발생합니다. 제약 조건이 연기된 경우 참조 행이 여전히 존재하면 제약 조건 확인 시 이 오류가 생성됩니다. 이것이 기본 동작입니다.
삭제 또는 업데이트로 인해 외래 키 제약 조건 위반이 발생함을 나타내는 오류가 발생합니다. 이는 다음과 같습니다.조치 없음단, 검사는 연기할 수 없습니다.
삭제된 행을 참조하는 모든 행을 삭제하거나 참조하는 열의 값을 참조된 열의 새 값으로 각각 업데이트하십시오.
참조 열을 null로 설정하십시오.
참조 열을 기본값으로 설정합니다. (기본값과 일치하는 참조 테이블의 행이 있어야 하며, null이 아닌 경우 작업이 실패합니다.)
참조된 열이 자주 변경되는 경우 외래 키 제약 조건과 관련된 참조 작업을 보다 효율적으로 수행할 수 있도록 참조 열에 인덱스를 추가하는 것이 현명할 수 있습니다.
이것은 제약조건을 연기할 수 있는지 여부를 제어합니다. 연기할 수 없는 제약 조건은 모든 명령 후에 즉시 확인됩니다. 연기 가능한 제약 조건 확인은 트랜잭션이 끝날 때까지 연기할 수 있습니다(PostgreSQL : 문서 : 9.6 : 토토 결과 세트명령).지연할 수 없음기본값입니다. 현재는 만고유, 기본 키, 제외및참조(외래 키) 제약 조건은 이 조항을 허용합니다.NULL이 아님그리고확인제약조건은 연기할 수 없습니다. 지연 가능한 제약 조건은 충돌 중재자로 사용할 수 없습니다.삽입을 포함하는 문충돌 시 업데이트를 하세요절.
제약이 연기 가능한 경우, 이 절은 제약을 확인하는 기본 시간을 지정합니다. 제약 조건이 다음과 같은 경우처음에는 즉시, 각 명령문 다음에 확인됩니다. 이것이 기본값입니다. 제약 조건이 다음과 같은 경우처음에는 연기됨, 트랜잭션이 끝날 때만 확인됩니다. 제약 조건 확인 시간은 다음을 사용하여 변경할 수 있습니다.PostgreSQL : 문서 : 9.6 : 토토 결과 세트명령.
이 절은 테이블 또는 인덱스에 대한 선택적 저장 매개변수를 지정합니다. 보다저장소 매개변수40037_40066함께테이블에 대한 절에는 다음도 포함될 수 있습니다.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.6 : Alter Table.
다음과 동등한 구식 구문입니다.WITH(OIDS)그리고WITH (OIDS=FALSE)입니다. 둘 다 제공하고 싶다면OIDS설정 및 저장 매개변수를 사용하려면 다음을 사용해야 합니다.함께 ( ... )구문; 위를 참조하세요.
트랜잭션 블록 끝의 임시 테이블 동작은 다음을 사용하여 제어할 수 있습니다.커밋 중. 세 가지 옵션은 다음과 같습니다.
트랜잭션 종료 시 특별한 조치가 취해지지 않습니다. 이것이 기본 동작입니다.
임시 테이블의 모든 행은 각 트랜잭션 블록의 끝에서 삭제됩니다. 기본적으로 자동PostgreSQL : 문서 : 9.6 : 젠 토토각 커밋마다 완료됩니다.
임시 테이블은 현재 트랜잭션 블록의 끝에서 삭제됩니다.
그스포츠 토토스페이스_이름은 새 테이블이 생성될 스포츠 토토스페이스의 이름입니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.
이 절은 다음과 연관된 인덱스가 있는 스포츠 토토스페이스를 선택할 수 있도록 허용합니다.고유, 기본 키, 또는제외제약조건이 생성됩니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.
그함께절은 지정할 수 있음저장 매개변수스포츠 토토 및 a와 연관된 인덱스의 경우고유, 기본 키또는제외제약. 인덱스의 저장소 매개변수는 다음 문서에 설명되어 있습니다.PostgreSQL : 문서 : 9.6 : 색인 범퍼카 토토. 현재 테이블에 사용할 수 있는 저장 매개변수는 다음과 같습니다. 표시된 것처럼 이러한 많은 매개변수에는 접두사가 붙은 동일한 이름을 가진 추가 매개변수가 있습니다.토스트., 스포츠 토토의 보조 동작을 제어합니다.토스트테이블(있는 경우)(참조PostgreSQL : 문서 : 9.6 : 토토 사이트TOAST에 대한 자세한 내용을 확인하세요). 테이블 매개변수 값이 설정되고 이에 상응하는 경우토스트.매개변수가 아닌 경우 TOAST 테이블은 테이블의 매개변수 값을 사용합니다.
테이블의 채우기 비율은 10에서 100 사이의 백분율입니다. 100(완전 패킹)이 기본값입니다. 더 작은 채우기 비율이 지정되면,삽입작업은 스포츠 토토 페이지를 표시된 비율로만 압축합니다. 각 페이지의 나머지 공간은 해당 페이지의 행을 업데이트하기 위해 예약되어 있습니다. 이것은업데이트행의 업데이트된 사본을 원본과 동일한 페이지에 배치할 수 있는 기회. 이는 다른 페이지에 배치하는 것보다 더 효율적입니다. 항목이 업데이트되지 않는 테이블의 경우 완전한 패킹이 최선의 선택이지만, 많이 업데이트된 테이블에서는 더 작은 채우기 요소가 적합합니다. TOAST 테이블에는 이 매개변수를 설정할 수 없습니다.
이 테이블의 병렬 스캔을 지원하는 데 사용해야 하는 작업자 수를 설정합니다. 설정하지 않으면 시스템은 관계 크기에 따라 값을 결정합니다. 예를 들어 다음 설정으로 인해 기획자가 선택한 실제 작업자 수는 더 적을 수 있습니다.max_worker_processes.
특정 테이블에 대한 autovacuum 데몬을 활성화하거나 비활성화합니다. true인 경우 autovacuum 데몬이 자동으로 수행됩니다.진공및/또는분석에서 설명한 규칙에 따라 이 테이블에 대한 작업섹션 24.1.6. false인 경우 트랜잭션 ID 랩어라운드를 방지하는 경우를 제외하고 이 테이블은 자동으로 진공화되지 않습니다. 보다섹션 24.1.5랩어라운드 방지에 대해 자세히 알아보세요. 다음과 같은 경우 autovacuum 데몬은 전혀 실행되지 않습니다(트랜잭션 ID 랩어라운드 방지 제외).자동 진공매개변수가 거짓입니다. 개별 테이블의 스토리지 매개변수를 설정해도 이를 재정의하지 않습니다. 따라서 이 저장 매개변수를 다음과 같이 명시적으로 설정하는 데에는 거의 의미가 없습니다.사실, 오직거짓.
다음에 대한 스포츠 토토당 값autovacuum_vacuum_threshold매개변수.
스포츠 토토당 값autovacuum_vacuum_scale_factor매개변수.
다음에 대한 스포츠 토토당 값autovacuum_analyze_threshold매개변수.
다음에 대한 스포츠 토토당 값autovacuum_analyze_scale_factor매개변수.
다음에 대한 스포츠 토토당 값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시스템 전체 설정보다 큰 매개변수(더 작게만 설정할 수 있음).
스포츠 토토당 값vacuum_multixact_freeze_table_age매개변수.
스포츠 토토당 값log_autovacuum_min_duration매개변수.
논리적 복제를 위해 테이블을 추가 카탈로그 테이블로 선언하십시오. 보다섹션 47.6.252306_52368
새로운 응용 프로그램에서 OID를 사용하는 것은 권장되지 않습니다. 가능하다면 다음을 사용하십시오.연재또는 테이블의 기본 키로 다른 시퀀스 생성기가 선호됩니다. 그러나 애플리케이션이 OID를 사용하여 테이블의 특정 행을 식별하는 경우에는 고유 제약 조건을 생성하는 것이 좋습니다.oid52860_53105스포츠 토토로이드및 행 OID를 목적으로 합니다.
팁:사용OIDS=FALSE기본 키가 없는 테이블에는 권장되지 않습니다. OID나 고유 데이터 키가 없으면 특정 행을 식별하기 어렵기 때문입니다.
PostgreSQL각 고유 제약조건 및 기본 키 제약조건에 대한 인덱스를 자동으로 생성하여 고유성을 강화합니다. 따라서 기본 키 열에 대해 명시적으로 인덱스를 생성할 필요가 없습니다. (보다PostgreSQL : 문서 : 9.6 : 색인 범퍼카 토토자세한 내용은.)
고유 제약 조건과 기본 키는 현재 구현에서 상속되지 않습니다. 이로 인해 상속과 고유 제약 조건의 조합이 제대로 작동하지 않게 됩니다.
테이블은 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대신 각 세션에서 자체적으로 실행해야 합니다.임시 스포츠 토토 생성59555_59817
임시 테이블의 동작에 대한 표준 정의는 널리 무시됩니다.PostgreSQL59947_60025
SQL 표준은 또한 전역 임시 테이블과 로컬 임시 테이블을 구별합니다. 여기서 로컬 임시 테이블은 각 세션 내의 각 SQL 모듈에 대해 별도의 콘텐츠 세트를 가지지만 그 정의는 여전히 세션 전체에서 공유됩니다. 부터포스트그레SQLSQL 모듈을 지원하지 않습니다. 이 구별은 다음과 관련이 없습니다.포스트그레SQL.
호환성을 위해,포스트그레SQL수락하겠습니다글로벌그리고로컬임시 테이블 선언에 키워드가 포함되어 있지만 현재는 아무런 효과가 없습니다. 이후 버전의 이후로 이러한 키워드를 사용하지 않는 것이 좋습니다.포스트그레SQL그 의미에 대해 보다 표준을 준수하는 해석을 채택할 수 있습니다.
그커밋 중60889_60986커밋 중절이 생략되었습니다. SQL은 기본 동작을 다음과 같이 지정합니다.ON 커밋 행 삭제. 그러나 기본 동작은포스트그레SQL이다커밋 행 보존 중. 그만큼커밋 삭제 중SQL에 옵션이 없습니다.
때고유또는기본 키제약조건은 연기할 수 없습니다.포스트그레SQL행이 삽입되거나 수정될 때마다 즉시 고유성을 확인합니다. SQL 표준에 따르면 고유성은 명령문 끝에서만 적용되어야 합니다. 예를 들어 단일 명령이 여러 키 값을 업데이트하는 경우 이는 차이를 만듭니다. 표준을 준수하는 동작을 얻으려면 제약 조건을 다음과 같이 선언하세요.지연 가능그러나 연기되지는 않음(예:처음에는 즉시). 이는 즉각적인 고유성 검사보다 훨씬 느릴 수 있다는 점에 유의하세요.
SQL 표준에 따르면확인열 제약조건은 적용되는 열만 참조할 수 있습니다. 오직확인테이블 제약조건은 여러 열을 참조할 수 있습니다.포스트그레SQL이 제한을 적용하지 않습니다. 열과 테이블 검사 제약 조건을 동일하게 처리합니다.
그NULL "제약조건"(실제로는 비제약)은포스트그레SQL일부 다른 데이터베이스 시스템과의 호환성을 위해 포함된 SQL 표준에 대한 확장(및 다음과의 대칭을 위해NULL이 아님제약). 모든 열의 기본값이므로 그 존재는 단순히 노이즈일 뿐입니다.
다음을 통한 다중 상속상속절은 a포스트그레SQL언어 확장. SQL:1999 이상에서는 다른 구문과 의미를 사용하여 단일 상속을 정의합니다. SQL:1999 스타일 상속은 아직 지원되지 않습니다.포스트그레SQL.
포스트그레SQL열이 없는 테이블을 생성할 수 있습니다(예:테이블 foo() 생성;). 이는 열이 없는 테이블을 허용하지 않는 SQL 표준의 확장입니다. 열이 없는 테이블은 그 자체로는 그다지 유용하지 않지만 이를 허용하지 않으면 이상한 특수 사례가 생성됩니다.테이블 드롭 열 변경, 따라서 이 사양 제한을 무시하는 것이 더 깔끔해 보입니다.