만들기 [[Global | 로컬] 임시 | 온도 | 무도명] 무지개 토토 [존재하지 않으면]table_name([column_name data_type[CollateCollation] [column_constraint[...]] |table_constraint| 좋다source_table[like_option...] [, ...] ]))) [상속 (parent_table[, ...])] [ 와 함께 (Storage_Parameter[=value] [, ...]) | oids | Oids없이] [커밋 보존 행 | 행 삭제 | 떨어지다 ] [무지개 토토 스페이스TableSpace_name] 생성 [[Global | 로컬] 임시 | 온도 | 무도명] 무지개 토토 [존재하지 않으면]table_nameoftype_name[(column_name옵션이있는 [column_constraint[...]] |table_constraint[, ...] ))]] [ 와 함께 (Storage_Parameter[=value] [, ...]) | oids | Oids없이] [커밋 보존 행 | 행 삭제 | 떨어지다 ] [무지개 토토 스페이스TableSpace_name]여기서column_constraintIS :[제약제약 _name] null 아님 | 널 | 확인하다 (표현) [상속 없음] | 기본default_expr| 고유한index_parameters| 기본 키index_parameters| 참조Reftable[(Refcolumn)] [일치 전체 | 부분적 일치 | 단순한 일치] [deleteAction] [업데이트Action]및table_constraintIS :[제약제약 _name] 확인하다 (표현) [상속 없음] | 고유한 (column_name[, ...])index_parameters| 기본 키 (column_name[, ...])index_parameters| [사용 제외index_method] (Exclude_Elementwith운영자[, ...])index_parameters[where (술어) | 외국 키 (column_name[, ...]) 참조Reftable[(Refcolumn[, ...])] [전체 일치 | 부분적 일치 | 단순한 일치] [delete에서Action] [업데이트Action]andlike_optionIS :포함 | 제외 기본값 | 제약 | 인덱스 | 스토리지 | 댓글 | 모두index_parametersin고유 한, 기본 키및제외제약 조건은 다음과 같습니다.[with (Storage_Parameter[=value] [, ...])] [인덱스 무지개 토토 스페이스 사용TableSpace_name]Exclude_Elementin제외제약은 다음과 같습니다.column_name| (표현) [opclass] [asc | desc] [nulls 첫 번째 | 마지막 ]
무지개 토토 생성새로운 것을 만들 것입니다. 초기에 현재 데이터베이스의 빈 무지개 토토. 무지개 토토이 될 것입니다 명령을 발행하는 사용자가 소유합니다.
스키마 이름이 주어진 경우 (예 :무지개 토토 작성 myschema.mytable ...) 그런 다음 테이블 지정된 스키마에서 생성됩니다. 그렇지 않으면 그것이 생성됩니다 현재 스키마. 임시 테이블은 특수 스키마에 존재하며 따라서 임시 테이블을 만들 때 스키마 이름을 제시 할 수 없습니다. 테이블의 이름은 다른 이름과 구별되어야합니다. 동일한 표, 시퀀스, 인덱스, 뷰 또는 외국 테이블 개요.
무지개 토토 만들기자동으로 복합 유형을 나타내는 데이터 유형을 만듭니다 테이블의 한 줄에 해당합니다. 따라서 테이블은 할 수 없습니다 기존 데이터 유형과 동일한 이름을 갖습니다. 개요.
선택적 제약 조항은 제약 조건을 지정합니다 (테스트) 새 또는 업데이트 된 행은 인서트 또는 업데이트를 위해 만족해야합니다. 성공하기위한 작전. 제약 조건은 도움이되는 SQL 객체입니다 다양한 방식으로 무지개 토토의 유효한 값을 정의하십시오.
제약 조건을 정의하는 두 가지 방법 인 무지개 토토 제약 조건이 있습니다 및 열 제약 조건. 열 제약 조건은의 일부로 정의됩니다 열 정의. 무지개 토토 제약 조건 정의는 묶이지 않습니다 특정 열이며 둘 이상의 열을 포함 할 수 있습니다. 모든 열 제약 조건은 무지개 토토로도 쓸 수 있습니다. 강제; 열 제약 조건은 단지 표기법 편의입니다 제약 조건이 한 열에 만 영향을 줄 때 사용합니다.
무지개 토토을 만들 수 있으려면usage모든 열 유형 또는 유형에 대한 권한 그만큼of각각.
지정된 경우 테이블은 임시 테이블로 생성됩니다. 임시 테이블은 세션 또는 선택적으로 현재의 끝에 트랜잭션 (참조on Commit아래). 이름이 같은 기존 영구 테이블은 아닙니다 임시 테이블 동안 현재 세션에 표시됩니다 스키마 자격을 참조하지 않는 한 존재합니다 이름. 임시 테이블에서 생성 된 모든 인덱스는 다음과 같습니다 자동으로 임시.
theautovacuum daemon액세스 할 수 없으므로 진공 청소기 또는 분석 할 수 없습니다 임시 테이블. 이러한 이유로 적절한 진공 및 세션 SQL을 통해 분석 작업을 수행해야합니다 명령. 예를 들어 임시 테이블이 복잡한 쿼리에 사용되면 실행하는 것이 좋습니다분석이후 임시 테이블에서 인구가.
선택적으로글로벌또는Local전에 작성할 수 있습니다임시또는temp. 이것은 현재 차이가 없습니다PostgreSQL그리고 IS 감가 상각 된; 보다호환성.
지정된 경우 무지개 토토은 무제한 무지개 토토로 생성됩니다. 무제한 무지개 토토에 작성된 데이터는 쓰기 로그 (참조토토 캔 : 문서 : 9.2 : 신뢰성과 쓰기 로그), 이는 일반 테이블보다 상당히 빠릅니다. 그러나 충돌 안전이 아닙니다. 무제한 테이블은 없습니다 충돌 또는 부정한 종료 후 자동으로 자릅니다. 예정되지 않은 테이블의 내용도 복제되지 않습니다. 대기 서버. 미등록에서 생성 된 모든 인덱스 테이블도 자동으로 예정되어 있습니다. 그러나, 신원화되지 않은사설 토토 사이트 : 문서현재는 아닙니다 지원되지 않아서 신원되지 않은 무지개 토토에서 생성 할 수 없습니다.
같은 이름과 관련이있는 경우 오류를 던지지 마십시오. 이미 존재합니다. 이 경우 통지가 발행됩니다. 주목하십시오 기존 관계가 있다는 보장은 없습니다 만들어진 것과 같은 것.
테이블의 이름 (선택적으로 스키마 자격) 생성됩니다.
a 생성입력 무지개 토토지정된 복합 유형 (이름 선택적으로 스키마 자격). 타이핑 된 테이블은 그것에 묶여 있습니다 유형; 예를 들어 유형이있는 경우 테이블이 삭제됩니다. 드롭 (드롭 타입 ... 종속).
유형 무지개 토토이 만들어지면 데이터 유형이 열은 기본 복합 유형에 의해 결정됩니다 그리고에 의해 지정되지 않습니다생성 무지개 토토명령. 하지만생성 무지개 토토명령은 기본값과 제약 조건을 추가 할 수 있습니다 테이블 및 스토리지 매개 변수를 지정할 수 있습니다.
새 테이블에서 작성할 열의 이름.
열의 데이터 유형. 여기에는 배열이 포함될 수 있습니다 지정자. 데이터 유형에 대한 자세한 내용은 지원PostgreSQL, 참조PostgreSQL : 문서 : 9.2 : 데이터 사설 토토.
theCollate절은 할당 a 칼럼으로의 콜라이트 (Collatable 데이터이어야합니다. 유형). 지정되지 않으면 열 데이터 유형의 기본값이 있습니다 Collation이 사용됩니다.
선택 사항상속절 새 테이블이있는 테이블 목록을 지정합니다. 모든 열을 자동으로 상속합니다.
사용상속생성 a 새로운 아동 테이블과 그 사이의 지속적인 관계 부모 테이블 (들). 부모에 대한 스키마 수정 일반적으로 어린이에게도 전파되고 기본적으로 아동 테이블의 데이터는 스캔에 포함됩니다. 부모).
동일한 열 이름이 부모에게 존재하는 경우 표, 오류는 데이터 유형이 열은 각 상위 테이블에서 일치합니다. 없다면 충돌, 중복 열이 병합되어 새 테이블의 단일 열. 열 이름 목록 인 경우 새 테이블에는 또한 열 이름도 포함되어 있습니다. 상속 된 데이터 유형은 상속 된 것과 마찬가지로 일치해야합니다 열 (들) 및 열 정의는 하나로 병합됩니다. 새 테이블이 기본값을 명시 적으로 지정하는 경우 열,이 기본값은 기본값을 대체합니다 열의 상속 선언. 그렇지 않으면 열에 대한 기본값을 지정하는 부모는 모두 동일한 기본값을 지정하거나 오류 가보고됩니다.
check제약 조건이 병합됩니다 본질적으로 열과 같은 방식 : 여러 부모 인 경우 테이블 및/또는 새로운 테이블 정의에는 포함되어 있습니다 동일하게 이름check제약 조건, 이러한 제약 조건은 모두 동일한 점검을 가져야합니다 표현 또는 오류 가보고됩니다. 제약 동일한 이름과 표현이 하나로 병합됩니다. 복사. 표시된 제약아니오 상속부모의 경우 고려되지 않습니다. 알아채다 이름이없는check제약 새 테이블에서 고유 한 이름이므로 절대로 병합되지 않습니다. 항상 선택됩니다.
컬럼스토리지설정은입니다 부모 무지개 토토에서도 복사했습니다.
theLike절은 a를 지정합니다 새 테이블이 자동으로 모든 것을 복사하는 테이블 열 이름, 데이터 유형 및 널이 아닙니다 제약 조건.
와 달리상속, 새 무지개 토토 그리고 원래 무지개 토토은 창조 후에 완전히 분리됩니다 완료되었습니다. 원래 무지개 토토의 변경 사항은 그렇지 않습니다 새 무지개 토토에 적용되며 포함 할 수 없습니다. 원래 무지개 토토 스캔으로 새 무지개 토토의 데이터.
복사 된 열 정의에 대한 기본 표현식
만 복사됩니다.기본값지정되어 있습니다. 기본 동작은 다음과 같습니다
기본 표현식을 제외하고 복사 한 결과를 초래합니다
새 테이블의 열에는 널 기본값이 있습니다. 주목하십시오
데이터베이스 수정 기능을 호출하는 기본값 복사
와 같은NextVal
, a
원본과 새 무지개 토토 사이의 기능적 연계.
NOT NULL 제약 조건은 항상 새 무지개 토토에 복사됩니다.check제약 조건이 복사됩니다 만 만제약 포함is 지정되었습니다. 열 사이에는 차이가 없습니다 제약 및 무지개 토토 제약 조건.
Indexes,기본 키, 고유 한및제외원래 무지개 토토의 제약 새 무지개 토토에서 만 생성됩니다.색인 포함지정되어 있습니다. 이름 새로운 인덱스 및 제약 조건은 원본의 이름이 지정된 방식에 관계없이 기본 규칙. (이 동작은 가능한 중복 실패를 피합니다 새로운 색인.)
스토리지복사 한 설정 열 정의는에만 복사됩니다.스토리지 포함지정되어 있습니다. 기본값 행동은 배제하는 것입니다스토리지설정, 새 무지개 토토의 복사 된 열이 생성됩니다. 유형 별 기본 설정이 있습니다. 자세한 내용은스토리지설정, 참조섹션 56.2.
복사 된 열, 제약 조건 및 인덱스는에만 복사됩니다.의견 포함지정되어 있습니다. 기본값 행동은 의견을 배제하여 복사 한 것입니다 새 테이블의 열 및 제약 조건이 없습니다 댓글.
ALL 포함는 약식입니다 형태기본값 포함 스토리지를 포함한 인덱스를 포함한 제약 조건 의견.
와 달리상속, 에 의해 복사 된 열 및 제약 조건좋아요는 비슷한 이름으로 병합되지 않았습니다 열 및 제약. 동일한 이름이 지정된 경우 명시 적으로 또는 다른 사람좋아요조항, 오류가 신호를받습니다.
the좋아요조항도 가능합니다 보기, 외국 테이블에서 열 정의를 복사하는 데 사용됩니다. 또는 복합 유형. 적용 할 수없는 옵션 (예 :색인 포함보기에서) 무시.
열 또는 테이블 제약 조건의 선택 이름. 만약에 제약 조건이 위반되고 제약 이름이 존재합니다 오류 메시지에서와 같은 제약 이름col은 긍정적이어야합니다익숙해 질 수 있습니다 유용한 제약 정보를 클라이언트에게 전달하십시오 응용 프로그램. (지정하려면 이중 인용물이 필요합니다 공백을 포함하는 제약 이름.) 제약 이름 인 경우 지정되지 않고 시스템은 이름을 생성합니다.
열에 널 값을 포함 할 수 없습니다.
열에는 널 값이 포함됩니다. 이것은 기본값.
이 조항은 호환성 만 제공됩니다 비표준 SQL 데이터베이스. 그것의 사용은 신규에서 낙담합니다 응용 프로그램.
thecheck조항을 지정합니다 표현은 새롭거나 업데이트 된 부울 결과를 생성합니다 삽입 또는 업데이트 작업을 위해 행을 만족시켜야합니다. 성공하십시오. 진실 또는 미지의 성공을 평가하는 표현. 인서트 또는 업데이트 작업 행이 생성되는 경우 거짓 결과 오류 예외가 제기되고 삽입 또는 업데이트는 데이터베이스를 변경하지 않습니다. 점검 제약 열 제약 조건으로 지정되어 있어야합니다 칼럼의 값 만, 표현식은 a에 나타납니다 테이블 제약 조건은 여러 열을 참조 할 수 있습니다.
현재,check표현 하위 쿼리를 포함하거나 다른 변수를 참조 할 수 없습니다 현재 행의 열.
아니오 상속자식 무지개 토토로 전파되지 않습니다.
the기본값절은 할당 a 열 정의 열의 기본 데이터 값 안에 나타납니다. 값은 변수가 없습니다 표현식 (하위 쿼리 및 상호 참조 현재 테이블의 열은 허용되지 않습니다). 데이터 기본 표현식 유형은 데이터 유형과 일치해야합니다. 열.
기본 표현식은 삽입물에 사용됩니다 열에 값을 지정하지 않는 작업. 만약에 열에 대한 기본값이없고 기본값은 널.
the고유 한제약 조건을 지정합니다 테이블의 하나 이상의 열에있는 그룹에 고유 한 가치 만. 독특한 테이블의 동작 제약 조건은 열 제약 조건과 동일하며 여러 열에 걸쳐있는 추가 기능.
고유 한 제약 조건의 목적을 위해 널 값은 다음과 같습니다. 동등한 것으로 간주되지 않습니다.
각 고유 테이블 제약 조건은 열 세트의 이름을 지정해야합니다. 그것은 어떤 열 세트와 다릅니다. 에 대해 정의 된 다른 고유 또는 기본 키 제약 조건 테이블. (그렇지 않으면 그것은 동일한 제약 일 것입니다 두 번 나열 됨.)
the기본 키제약 테이블의 열 또는 열에 포함 할 수 있음을 지정합니다. 고유 한 (복제되지 않은), 비 unnull 값 만. 단 하나 기본 키는 테이블에 대해 지정할 수 있습니다. 열 제약 조건 또는 테이블 제약 조건.
기본 키 제약 조건은 열 세트의 이름을 지정해야합니다. 그것은 어떤 열 세트와 다릅니다. 동일한 테이블에 대해 정의 된 고유 한 제약 조건. (그렇지 않으면, 독특한 제약은 중복되며 가능합니다 폐기.)
기본 키동일하게 시행합니다 의 조합으로서의 데이터 제약 조건고유 한및널, 그러나 기본 세트를 기본으로 식별 키는 또한 스키마 설계에 대한 메타 데이터를 제공하고 기본 키는 다른 테이블이 이 열 세트는 행의 고유 식별자입니다.
the제외절의 정의 배제 제약 조건 지정된 열 또는 표현식에서 비교됩니다. 지정된 연산자를 사용하는 것은 아닙니다 비교는 반환됩니다true. 만약에 지정된 모든 운영자 테스트는 평등을 테스트합니다. A에 해당고유 한제약 조건, 평범한 독특한 제약 조건이 더 빠르지 만. 그러나 제외 제약 조건은 그 제약 조건을 지정할 수 있습니다 단순한 평등보다 일반적입니다. 예를 들어, 당신은 할 수 있습니다 테이블에 두 개의 행이 포함되어 있지 않은 제약 조건을 지정합니다. 겹치는 서클 (참조섹션 8.8)를 사용하여&&운영자.
제외 제약 조건은 인덱스를 사용하여 구현됩니다 지정된 각 연산자는 An과 연관되어야합니다 적절한 운영자 클래스 (섹션 11.9) 인덱스의 경우 액세스 방법index_method. 운영자는 정류해야합니다. 각Exclude_Elementcan 선택적으로 운영자 클래스 및/또는 주문을 지정합니다 옵션; 이것들은 완전히 묘사됩니다색인 생성.
액세스 방법이 지원해야합니다amgettuple(참조52 장); 현재 이것은 의미진사용할 수 없습니다. 허용되지만 사용에 대한 점이 거의 없습니다 제외 제약 조건이있는 B- 트리 또는 해시 인덱스, 이것은 평범한 독특한 일이 없기 때문입니다 제약은 더 나아지지 않습니다. 실제로 액세스 메소드는 항상gist또는SP-Gist.
the술어허용합니다 서브 세트에 제외 제약 조건을 지정합니다. 테이블; 내부적으로 이것은 부분 색인을 만듭니다. 주목하십시오 술어 주변에는 괄호가 필요합니다.
이 조항은 외국의 주요 제약 조건을 지정합니다 하나 이상의 새로운 열의 그룹이 테이블은 참조 테이블의 일부 행의 참조 열. 만약에Refcolumn생략, 의 주요 키Reftable사용됩니다. 참조 열은 고유하지 않은 고유의 열이어야합니다. 참조 테이블의 기본 키 제약. 주목하십시오 외국의 주요 제약 조건은 임시 사이에 정의 될 수 없습니다 테이블 및 영구 테이블.
참조 열에 삽입 된 값은 다음과 같습니다 참조 테이블의 값과 일치합니다 주어진 일치 유형을 사용하여 참조 된 열. 거기 있습니다 세 가지 매치 유형 :전체 일치, 일치 부분및단순한 일치, 또한 기본값입니다.전체 일치는 허용하지 않습니다 다중 검은 외국 키의 열이 모두가 아니라면 외국 키 열은 널입니다.일치 단순한일부 외국 키 열이 무효화 될 수 있습니다 외국 키의 다른 부분은 무효가 아니지만일치 부분는 아직 없습니다 구현.
또한 참조 열의 데이터가 변경, 특정 작업이 데이터에 대해 수행됩니다. 테이블의 열. 그만큼ON DELETE절은 참조 할 때 수행 할 조치를 지정합니다 참조 테이블의 행이 삭제됩니다. 마찬가지로,on update조항을 지정합니다 참조 열에서 수행 할 조치 참조 테이블이 새 값으로 업데이트되고 있습니다. 만약 행이 업데이트되었지만 참조 된 열은 실제로 아닙니다. 변경, 조치는 수행되지 않습니다. 다른 참조 조치 그만큼행동 없음점검 할 수 없습니다 제약 조건이 연기 가능하다고 선언하더라도 연기되었습니다. 각각에 대한 가능한 조치가 있습니다 절:
삭제 또는 삭제를 나타내는 오류를 생성합니다 업데이트는 외래 키 제약 조건을 만듭니다 위반. 제약 조건이 연기되면이 오류 제한 조건 검사 시간에서 생성됩니다 참조 행이 여전히 존재합니다. 이것은 기본값입니다 행동.
삭제 또는 삭제를 나타내는 오류를 생성합니다 업데이트는 외래 키 제약 조건을 만듭니다 위반. 이것은와 동일합니다.아니오 행동수표가 아닌 경우를 제외하고 연기 가능.
삭제 된 행을 참조하는 행을 삭제하십시오 참조 열의 값을 새로 업데이트하십시오. 참조 열의 값 각각.
참조 열을 null로 설정합니다.
참조 열을 기본값으로 설정합니다 값.
참조 된 열이 자주 변경되면 외국 키 열에 색인을 추가하는 것이 현명 할 수 있습니다. 외국 키와 관련된 참조 조치 열을보다 효율적으로 수행 할 수 있습니다.
이것은 제약 조건을 연기 할 수 있는지 여부를 제어합니다. 에이 연기되지 않는 제약 조건이 확인됩니다 모든 명령 직후. 제약 조건 확인 연기 가능성은 끝날 때까지 연기 될 수 있습니다. 트랜잭션 ( 사용)제약 세트명령).연기가 없음기본값입니다. 현재 만고유 한, 기본 키, 제외및참조(외국 키) 제약 조건을 받아들입니다 이 조항.NOT NULLandcheck제약 조건이 아닙니다 연기 가능.
제약 조건을 연기 할 수있는 경우이 조항은 다음을 지정합니다 제약 조건을 확인하는 기본 시간. 제약이 인 경우처음에 즉시, 확인됩니다 각 진술 후. 이것은 기본값입니다. 만약 제약은처음 연기, 거래가 끝날 때만 확인됩니다. 그만큼 제약 조건 확인 시간은로 변경 될 수 있습니다.제약 세트명령.
이 조항은 a에 대한 선택적인 스토리지 매개 변수를 지정합니다 표 또는 색인; 보다스토리지 매개 변수자세한 내용. 그만큼with무지개 토토에 대한 조항도 포함 할 수 있습니다oids = true(또는 그냥OIDS) 새 무지개 토토의 행을 지정합니다 OID (객체 식별자)가 그들에게 할당되어 있어야하거나oids = false행에는 OID가 없어야합니다. 만약에OIDS지정되지 않았으며 기본 설정은에 따라 다릅니다.default_with_oids구성 매개 변수. (새 테이블이 상속 된 경우 OID가있는 테이블,oids = true명령이 말하더라도 강요oids = false.)
ifoids = false지정되어 있습니다 묵시적, 새 테이블은 OID를 저장하지 않으며 OID가 삽입 된 행에 할당됩니다. 이것은 일반적으로입니다 가치가있는 것으로 간주되면 OID 소비를 줄일 수 있기 때문입니다 따라서 32 비트 OID의 랩 어라운드를 연기합니다 계수기. 카운터가 돌아 오면 OID는 더 이상 할 수 없습니다 독특하다고 가정하여 상당히 덜 만듭니다. 유용한. 또한 테이블에서 OID를 제외하면 감소합니다 디스크에 테이블을 4 바이트 씩 저장하는 데 필요한 공간 행 당 (대부분의 기계에서) 약간 개선 성능.
생성 된 후 테이블에서 OID를 제거하려면 사용스포츠 토토 베트맨 PostgreSQL.
이들은 구식 구문입니다.with (OIDS)and(oids = false)44566_4462044638_44644설정 및 스토리지 매개 변수,를 사용해야합니다.with (... )구문; 위의 참조.
끝에서 임시 테이블의 동작 트랜잭션 블록은를 사용하여 제어 할 수 있습니다.on Commit. 세 가지 옵션은 다음과 같습니다.
끝에 특별한 조치가 취하지 않습니다 업무. 이것은 기본 동작입니다.
임시 테이블의 모든 행이 삭제됩니다. 각 트랜잭션 블록의 끝. 본질적으로, an 오토매틱PostgreSQL : 문서 : 9.2 : 스포츠 토토 사이트IS 각 커밋에서 완료
임시 테이블이 끝날 때 떨어집니다. 현재 트랜잭션 블록.
theTableSpace_nameIS 새 테이블이 될 무지개 토토 스페이스의 이름 생성. 지정되지 않은 경우default_tablespace상담 또는temp_tablespaces테이블이 임시 인 경우.
이 조항은 무지개 토토 스페이스를 선택할 수 있습니다 A와 관련된 색인고유 한, 기본 열쇠, 또는제외제약 생성됩니다. 지정되지 않은 경우default_tablespace상담 또는temp_tablespaces테이블이 임시 인 경우.
thewith조항을 지정할 수 있습니다스토리지 매개 변수무지개 토토 용 A와 관련된 색인고유 한, 기본 키또는제외제약. 스토리지 매개 변수 인덱스는에 문서화됩니다.PostgreSQL : 문서 : 9.2 : 색인 스포츠 토토 베트맨. 현재 사용 가능한 스토리지 매개 변수입니다 테이블은 아래에 나열되어 있습니다. 명시되지 않는 한 각 매개 변수에 대해 이름이 동일한 이름이있는 추가 매개 변수가 있습니다. 와 함께토스트.무지개 토토의 2 차 행동 제어토스트테이블이있는 경우 (참조섹션 56.2자세한 내용 토스트에 대해). 토스트 테이블은를 상속합니다.autovacuum_*부모 테이블의 값, if 없음Toast.Autovacuum_*설정 세트.
테이블의 채우기는 10 사이의 백분율입니다. 100. 100 (완전한 포장)이 기본값입니다. 언제 a 작은 fillfactor가 지정되어 있습니다.삽입운영 팩 무지개 토토 페이지 만 표시된 백분율; 각각의 나머지 공간 해당 페이지의 행을 업데이트하기 위해 페이지가 예약되어 있습니다. 이것 주는업데이트배치 할 기회 같은 페이지에있는 행의 업데이트 된 사본 원본은 다른 페이지. 항목이없는 테이블의 경우 업데이트 된 완전한 포장이 최선의 선택이지만 더 많은 업데이트 된 테이블 더 작은 FillFactors가 있습니다 적절한. 이 매개 변수는 토스트에 대해 설정할 수 없습니다 테이블.
autovacuum 데몬을 활성화 또는 비활성화합니다 특정 테이블. 사실이라면 Autovacuum 데몬이 될 것입니다 시작진공a 업데이트되거나 삭제 된 경우 특정 테이블 튜플이 초과autovacuum_vacuum_thresholdPlusautovacuum_vacuum_scale_factor현재 추정 된 살아있는 튜플의 수는 관계에서. 마찬가지로, 그것은 시작할 것입니다분석삽입, 업데이트 또는 삭제 된 튜플 수를 초과합니다autovacuum_analyze_thresholdplusautovacuum_analyze_scale_factor타임즈 현재 추정되는 살아있는 튜플의 수 관계. False 인 경우이 테이블은 자동화되지 않습니다. 트랜잭션 ID 랩 어라운드를 방지하는 것을 제외하고. 보다섹션 23.1.550595_50701autovacuum설정.
전에 최소 업데이트 또는 삭제 된 튜플 수 시작진공a 특정 표.
승수Reltuplesadd에autovacuum_vacuum_threshold.
삽입, 업데이트 또는 삭제 된 튜플의 최소 수 시작하기 전에분석특정 무지개 토토에서의 작동.
승수Reltuplesadd에autovacuum_analyze_threshold.
Customautovacuum_vacuum_cost_delay매개 변수.
Customautovacuum_vacuum_cost_limit매개 변수.
CustomVACUUM_FREEZE_MIN_AGE매개 변수. Autovacuum은 시도를 무시할 것입니다 테이블 당 설정autovacuum_freeze_min_age보다 큽니다 절반 시스템 전체autovacuum_freeze_max_age설정.
Customautovacuum_freeze_max_age매개 변수. 주목하십시오 Autovacuum은 테이블 당 설정 시도를 무시합니다autovacuum_freeze_max_age더 큰 시스템 전체 설정보다 설정할 수 있습니다 더 작은).
CustomVACUUM_FREEZE_TABLE_AGE매개 변수.
새로운 응용 프로그램에서 OID를 사용하는 것은 권장되지 않습니다 가능, a 사용Serial또는 기타 테이블의 기본 키로 서열 생성기가 선호됩니다. 그러나 응용 프로그램이 OID를 사용하여 식별하는 경우 테이블의 특정 행, 고유 한 것을 만드는 것이 좋습니다. 에 대한 제약OID그 열 테이블, 테이블의 OID가 실제로 독창적으로 카운터 랩 어라운드 후에도 행을 식별하십시오. 그것을 가정하지 마십시오 OID는 테이블 전체에서 독특합니다. 데이터베이스 전체가 필요한 경우 식별자,의 조합 사용Tableoid목적을위한 행 OID.
팁 :사용oids = false기본 키가없는 테이블에는 권장되지 않습니다. OID 또는 고유 한 데이터 키가 없으면 어렵습니다. 특정 행을 식별하려면
PostgreSQL자동으로 각 고유 한 제약 조건 및 기본 키에 대한 인덱스를 만듭니다. 고유성을 집행하기위한 제약. 따라서 필요하지 않습니다 기본 키 열에 대해 명시 적으로 인덱스를 만듭니다. (보다색인 생성더 많은 경우 정보.)
고유 한 제약 조건 및 기본 키는 현재 구현. 이것은 상속의 조합을 만듭니다 그리고 독특한 제약 조건 다소 기능 장애가 있습니다.
테이블에 1600 개 이상의 열을 가질 수 없습니다. (실제로는 유효 한계는 일반적으로 튜플 길이로 인해 낮습니다 제약 조건.)
무지개 토토 작성영화및 무지개 토토유통 업체:
테이블 필름 생성 ( 코드 char (5) 제약 조건 FirstKey 1 차 키, 타이틀 바르 차 (40) null, 정수가 무효가되지 않았습니까? date_prod 날짜, Kind Varchar (10), 렌 간격 시간에서 분 ); 테이블 분배기 생성 ( 정수 기본 키 기본값 NextVal ( 'Serial'), 이름 varchar (40) Not Null Check (name < '') );
2 차원 배열이있는 무지개 토토 만들기 :
무지개 토토 생성 array_int ( 벡터 int [] [] );
테이블의 고유 테이블 제약 조건을 정의영화. 고유 한 테이블 제약 조건을 정의 할 수 있습니다 테이블의 하나 이상의 열 :
테이블 필름 생성 ( 코드 char (5), 제목 바르 차 (40), 정수, date_prod 날짜, Kind Varchar (10), LEN 간격 시간에서 분, 제약 제작 고유 (date_prod) );
검사 열 제약 조건 정의 :
테이블 분배기 생성 ( 정수 확인 (100 명), 이름 varchar (40) );
체크 테이블 정의 제약 조건 :
테이블 분배기 생성 ( 정수, 이름 varchar (40) 제약 조건 CON1 확인 (did 100 및 name < '') );
테이블의 기본 키 테이블 제약 조건 정의영화:
테이블 필름 생성 ( 코드 char (5), 제목 바르 차 (40), 정수, date_prod 날짜, Kind Varchar (10), LEN 간격 시간에서 분, 제약 Code_title 기본 키 (코드, 제목) );
표에 대한 기본 키 제약 조건을 정의유통 업체. 다음 두 가지 예가 있습니다 동등한 것은 테이블 제약 조건 구문을 사용하여 첫 번째입니다 두 번째 열 제약 조건 구문 :
테이블 분배기 생성 ( 정수, 이름 varchar (40), 기본 키 (DID) ); 테이블 분배기 생성 ( 정수 기본 키를했고 이름 varchar (40) );
열에 문자 그대로 상수 기본값을 지정이름, 기본값을 정리합니다 열did선택하여 생성됩니다 시퀀스 객체의 다음 값과 기본값을 만듭니다. 의modtime행이있는 시간이 되십시오 삽입됩니다 :
테이블 분배기 생성 ( Varchar (40) 기본 'Luso Films', Integer Default NextVal ( 'Emptentor_Serial'), modtime timestamp default current_timestamp );
두 정의NOT NULL열
표에 제약유통 업체
, 그 중 하나는 명시 적으로 제공됩니다
이름 :
테이블 분배기 생성 ( 정수 제약 조건 NO_NULL이 NULL이 아니 었습니다. varchar (40) 이름은 null이 아닙니다 );
이름열 :
테이블 분배기 생성 ( 정수, 이름 Varchar (40) 독특합니다 );
테이블 제약 조건으로 지정된 동일 :
테이블 분배기 생성 ( 정수, 이름 varchar (40), 독특한 (이름) );
동일한 테이블을 작성하여 두 테이블과 그 고유 한 색인 :
테이블 분배기 생성 ( 정수, 이름 varchar (40), 고유 (이름)와 함께 (fillfactor = 70) )) with (fillfactor = 70);
무지개 토토 생성서클두 원을 방지하는 제외 제약 겹치기 :
테이블 서클 생성 ( C 서클, GIST 사용 (& with &&) 제외 );
무지개 토토 생성Cinemasin TableSpacediskvol1:
테이블 시네마 생성 ( ID 시리얼, 이름 텍스트, 위치 텍스트 ) 무지개 토토 스페이스 디스크 볼 1;
복합 유형 및 유형 무지개 토토 작성 :
유형 생성 Employee_type (이름 텍스트, 급여 숫자); Employee_type의 테이블 직원 만들기 ( 기본 키 (이름), 옵션이있는 급여 기본값 1000 );
the무지개 토토 만들기명령을 준수합니다 그만큼SQL표준 아래 나열된 예외.
비록 구문은임시 생성 테이블SQL 표준의 것과 유사합니다 동일하지 않습니다. 표준에서는 임시 테이블이 정의됩니다 한 번만 자동으로 존재합니다 (비어있는 것으로 시작합니다 내용) 필요한 모든 세션에서.PostgreSQL대신 각 세션이 필요합니다 자신의 발행임시 생성 테이블사용할 각 임시 테이블을 사용하는 명령. 이것 다른 세션이 동일한 임시 테이블 이름을 사용하도록 허용합니다. 표준의 접근 방식은 다른 목적을 위해 주어진 임시 테이블 이름의 모든 인스턴스를 동일한 테이블 구조를 가지고 있습니다.
임시 행동에 대한 표준의 정의 테이블은 널리 무시됩니다.PostgreSQL이 시점에서의 동작입니다 다른 여러 SQL 데이터베이스와 유사합니다.
SQL 표준은 또한 글로벌과 로컬을 구별합니다 로컬 임시 테이블에 별도의 임시 테이블 그래도 각 세션 내의 각 SQL 모듈에 대한 컨텐츠 세트는 있지만 그 정의는 여전히 세션에서 공유됩니다. 부터PostgreSQL지원하지 않습니다 SQL 모듈,이 차이점은 관련이 없습니다.PostgreSQL.
호환성을 위해postgresql수락글로벌andLocal임시 테이블 선언의 키워드이지만 현재 효과가 없습니다. 이 키워드의 사용은 그 이후로 권장되지 않습니다 미래 버전의PostgreSQL그들의 표준 준수 해석을 채택 할 수 있습니다 의미.
theon Commit임시 조항 테이블은 또한 SQL 표준과 비슷하지만 일부는 있습니다 차이. 인 경우on Commit절 생략되면 SQL은 기본 동작이임을 지정합니다.커밋 삭제 행. 그러나, 의 기본 동작PostgreSQLis커밋 보존 행. 그만큼on Commit Drop옵션이 존재하지 않습니다 SQL에서
a고유 한또는기본 키제약 조건이 연기되지 않습니다.PostgreSQL확인 행이 삽입되거나 수정 될 때마다 즉시 독창성. SQL 표준에 따르면 독창성 만 시행해야한다고합니다. 성명서의 끝에; 이것은 할 때 차이를 만듭니다 예를 들어 단일 명령은 여러 키 값을 업데이트합니다. 에게 표준 준수 행동을 얻고 제약 조건을로 선언합니다.연기 가능그러나 연기되지 않음 (예 :처음에 즉시). 알고 있어야합니다 이것은 즉각적인 독창성보다 상당히 느릴 수 있습니다 점검.
SQL 표준은check열 제약 조건은 신청 된 열만 참조 할 수 있습니다. 오직check테이블 제약 조건을 참조 할 수 있습니다 여러 열에.PostgreSQL이것을 시행하지 않습니다 제한; 열과 테이블 점검 제약 조건을 처리합니다 서로 같은.
theNULL "제약"(실제로는 제한되지 않은)입니다.PostgreSQL다른 것과의 호환성을 위해 포함 된 SQL 표준 데이터베이스 시스템 (및 대칭NOT NULL제약 조건). 기본이기 때문에 모든 칼럼의 경우 그 존재는 단순히 소음입니다.
다중 상속상속절은 A입니다.PostgreSQL언어 확장. SQL : 1999 나중에 다른 구문을 사용하여 단일 상속을 정의합니다 그리고 다른 의미론. SQL : 1999 스타일 상속은 아직 없습니다 지원PostgreSQL.