외국 젠 토토 만들기 - 새 외국 테이블 정의
외국 젠 토토 작성 [존재하지 않으면]table_name
column_name
data_type
[옵션 (옵션
'value
' [, ...])] [CollateCollation
] [column_constraint
[...]] |table_constraint
[, ...] ]))) [상속 (parent_table
[, ...])] 섬기는 사람server_name
[옵션 (옵션
'value
' [, ...])] 외국 젠 토토 만들기 [존재하지 않으면]table_name
파티션parent_table
[(column_name
[옵션 포함] [column_constraint
[...]] |table_constraint
[, ...] ))]] valuePartition_bound_spec
| 기본 섬기는 사람server_name
[옵션 (옵션
'value
' [, ...])여기서column_constraint
is :[제약제약 _name
] null 아님 | 널 | 확인하다 (표현
) [상속 없음] | 기본default_expr
| 항상 (로 생성Generation_Expr
) 저장andtable_constraint
is :[제약제약 _name
] 확인하다 (표현
) [상속 없음]andPartition_bound_spec
is :in (Partition_bound_expr
[, ...]) | 에서 (Partition_bound_expr
| MinValue | maxValue [, ...]) 에게 (Partition_bound_expr
| MinValue | maxValue [, ...]) | with (modulusNumeric_Literal
, 나머지Numeric_Literal
)
외국 젠 토토 만들기
현재 데이터베이스에 새 외국 테이블을 만듭니다. 테이블은 명령을 발행하는 사용자가 소유합니다.
스키마 이름이 제공되는 경우 (예 :외국 젠 토토 만들기 myschema.mytable ...
) 그러면 표가 지정된 스키마에서 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다. 외국 테이블의 이름은 동일한 스키마에서 다른 관계 (테이블, 시퀀스, 인덱스, 뷰, 구체화 된보기 또는 외국 테이블)의 이름과 구별되어야합니다..
외국 젠 토토 만들기
또한 외국 젠 토토의 한 행에 해당하는 복합 유형을 나타내는 데이터 유형을 자동으로 생성합니다. 따라서 외국 젠 토토은 동일한 스키마의 기존 데이터 유형과 동일한 이름을 가질 수 없습니다.
if파티션
조항이 지정된 다음 표는의 파티션으로 생성됩니다.parent_table
지정된 경계와 함께.
외국 젠 토토을 만들 수 있으려면usage
외국 서버의 권한뿐만 아니라usage
표에 사용 된 모든 열 유형에 대한 권한.
존재하지 않으면
같은 이름과의 관계가 이미 존재하는 경우 오류를 던지지 마십시오. 이 경우 통지가 발행됩니다. 기존 관계가 생성 된 관계와 비슷하다는 보장은 없습니다.
table_name
생성 할 젠 토토의 이름 (선택적으로 스키마 자격).
column_name
새 젠 토토에서 작성할 열의 이름.
data_type
열의 데이터 유형. 여기에는 배열 지정자가 포함될 수 있습니다. 지원하는 데이터 유형에 대한 자세한 내용은PostgreSQL, 참조PostgreSQL : 문서 : 16 : 8 장 데이터 토토 사이트.
CollateCollation
theCollate
절은 콜로레이션을 열에 할당합니다 (이는 Collatable 데이터 유형이어야합니다). 지정되지 않으면 열 데이터 유형의 기본 콜레이션이 사용됩니다.
상속 (parent_table
[, ...])
선택 사항상속
절은 새 외국 테이블이 모든 열을 자동으로 상속하는 테이블 목록을 지정합니다. 부모 테이블은 일반 테이블 또는 외국 테이블 일 수 있습니다. 비슷한 형태의 참조젠 토토 만들기
자세한 내용은
파티션parent_table
valuesPartition_bound_spec
| 기본
이 양식을 사용하여 지정된 파티션 경계 값을 갖는 주어진 부모 테이블의 파티션으로 외래 테이블을 만들 수 있습니다. 비슷한 형태의 참조젠 토토 생성
자세한 내용은. 현재 외국 테이블을 부모 테이블의 파티션으로 만들 수는 없습니다.고유 한
상위 젠 토토의 색인. (참조ALTER 테이블 첨부 파티션
.)
제약 조건제약 _name
열 또는 테이블 제약 조건의 선택 이름. 제약 조건이 위반되면 제약 조건 이름이 오류 메시지에 표시되므로와 같은 제약 이름이 있습니다.col은 긍정적이어야합니다
유용한 제약 정보를 클라이언트 애플리케이션에 전달하는 데 사용할 수 있습니다. (공백이 포함 된 제한 조건 이름을 지정하려면 이중 점수가 필요합니다.) 제약 이름이 지정되지 않은 경우 시스템은 이름을 생성합니다..
NOT NULL
열에 널 값을 포함 할 수 없습니다.
NULL
열에는 널 값이 포함됩니다. 이것은 기본입니다.
이 조항은 비표준 SQL 데이터베이스와의 호환성 만 제공됩니다. 새로운 응용 프로그램에서는 사용이 권장되지 않습니다.
check (표현
) [상속 없음]
thecheck
조항은 외국 테이블의 각 행이 만족할 것으로 예상되는 부울 결과를 생성하는 표현을 지정합니다. 즉, 표현식은 외국 테이블의 모든 행에 대해 참든 알려지지 않았으며, 거짓을하지 않아야합니다. 열 제약 조건으로 지정된 확인 제약 조건은 열의 값 만 참조해야하며 테이블 제약 조건에 나타나는 표현식은 여러 열을 참조 할 수 있습니다..
현재,check
표현식에는 하위 쿼리를 포함 할 수 없거나 현재 행 열 이외의 변수를 참조하십시오. 시스템 열Tableoid
참조 될 수 있지만 다른 시스템 열은 없습니다.
제약 조건으로 표시상속 없음
자식 젠 토토로 전파되지 않습니다.
기본값default_expr
the기본값
절은 열 정의가 내부에 나타나는 열에 대한 기본 데이터 값을 할당합니다. 값은 모든 가변 표현식입니다 (현재 테이블의 다른 열에 대한 하위 쿼리 및 상호 참조는 허용되지 않습니다). 기본 표현식의 데이터 유형은 열의 데이터 유형과 일치해야합니다.
기본 표현식은 열에 값을 지정하지 않는 삽입 작업에서 사용됩니다. 열에 대한 기본값이 없으면 기본값은 null입니다.
항상 ( 생성Generation_Expr
) 저장
이 조항은 열을 a로 만듭니다.생성 열. 열을 기록 할 수 없으며, 읽을 때 지정된 표현식의 결과가 반환됩니다.
키워드저장
는 열이 쓰기시 계산 될 것임을 나타내야합니다. (계산 된 값은 저장을 위해 외국 데이터 래퍼에 제시되며 읽기시 반환해야합니다.)
생성 표현식은 테이블의 다른 열을 참조 할 수 있지만 다른 생성 열은 아닙니다. 사용 된 기능과 운영자는 불변이어야합니다. 다른 테이블에 대한 참조는 허용되지 않습니다.
Server_name
외국 테이블에 사용할 기존 외국 서버의 이름. 서버 정의에 대한 자세한 내용은 참조하십시오.서버 생성.
옵션 (옵션
'value
' [, ...])
새 외국 테이블 또는 그 열 중 하나와 관련 될 옵션. 허용 옵션 이름과 값은 각 외국 데이터 래퍼에 따라 다르며 외부 데이터 래퍼의 유효성 검사기 기능을 사용하여 검증됩니다. 중복 옵션 이름은 허용되지 않습니다 (테이블 옵션과 동일한 이름을 갖는 열 옵션에 대해서는 괜찮지 만)..
외국 테이블의 제약 조건 (예 :check
또는NOT NULL
Clauses)는 핵심에 의해 시행되지 않습니다PostgreSQL시스템 및 대부분의 외국 데이터 포장지도이를 시행하려고 시도하지 않습니다. 즉, 제약은 단순히 사실을 유지한다고 가정합니다. 그러한 시행에는 외국 테이블을 통해 삽입되거나 업데이트 된 행에만 적용되며 원격 서버의 직접적으로 직접 수정되지 않은 행에는 적용되므로 요점은 거의 없습니다. 대신, 외국 테이블에 첨부 된 제약 조건은 원격 서버에 의해 시행되는 제약 조건을 나타냅니다.
일부 특수 목적 외국 데이터 포장지는 그들이 액세스하는 데이터에 대한 유일한 액세스 메커니즘 일 수 있으며,이 경우 외국 데이터 포장지 자체가 제약 시행을 수행하는 것이 적절할 수 있습니다. 그러나 문서가 그렇게 말하지 않는 한 래퍼가 그렇게한다고 가정해서는 안됩니다.
비록PostgreSQL외국 테이블의 제약 조건을 시행하려고 시도하지 않으므로 쿼리 최적화의 목적으로 올바른 것으로 가정합니다. 외국 테이블에 선언 된 제약 조건을 충족하지 않는 행이 보이는 경우 표의 쿼리는 오류 또는 잘못된 답변을 생성 할 수 있습니다. 제약 정의가 현실과 일치하는지 확인하는 것은 사용자의 책임입니다.
외국 테이블이 분할 된 테이블의 파티션으로 사용되면 그 내용이 분할 규칙을 충족해야한다는 암시 적 제약 조건이 있습니다. 다시 말하지만, 원격 서버에 일치하는 제약 조건을 설치하여 가장 잘 수행되는 것이 사실인지 확인하는 것이 사용자의 책임입니다.
외국 테이블 파티션이 포함 된 분할 된 테이블 내에서업데이트
파티션 키 값을 변경하면 외국 데이터 래퍼가 튜플 라우팅을 지원하는 경우, 파티션 키 값으로 인해 로컬 파티션에서 외국 테이블 파티션으로 행을 이동할 수 있습니다. 그러나 현재 외국 테이블 파티션에서 다른 파티션으로 행을 이동할 수 없습니다.업데이트
원격 서버에 의해 올바르게 시행된다고 가정 할 때 분할 제약으로 인해 실패 할 필요가 있습니다.
생성 된 열에 유사한 고려 사항이 적용됩니다. 저장된 생성 열은 로컬 삽입 또는 업데이트에서 계산됩니다PostgreSQL서버와 외국 데이터 저장소에 기록하기 위해 외국 데이터 래퍼에 건네지 만 외국 테이블의 쿼리는 생성 표현식과 일치하는 저장된 생성 열에 대한 값을 반환하는 것이 시행되지 않습니다. 다시 말하지만, 이것은 쿼리 결과가 잘못 될 수 있습니다.
외국 젠 토토 만들기영화
, 서버를 통해 액세스 할 것입니다film_server
:
외국 테이블 필름 만들기 ( 코드 문자 (5) NULL, 타이틀 바르 차 (40) null, 정수가 무효가되지 않았습니까? date_prod 날짜, Kind Varchar (10), 렌 간격 시간에서 분 )) 서버 필름 _server;
외국 젠 토토 만들기측정 _y2016m07
, 서버를 통해 액세스 할 것입니다Server_07
, 범위 파티션 테이블의 파티션으로측정
:
외래 젠 토토 생성 _y2016M07 ( '2016-07-01')에서 ( '2016-08-01')에서 값 측정 분할 Server Server_07;
the외국 젠 토토 만들기
명령은 크게를 준수합니다SQL표준; 그러나와 마찬가지로젠 토토 작성
, NULL
제약 조건 및 제로 컬럼 이외의 테이블이 허용됩니다. 열 기본값을 지정하는 기능도 A입니다.PostgreSQL확장. 테이블 상속,에 정의 된 형식의PostgreSQL, 비표준입니다.
문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면