이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : F.36. Postgres_FDW - 외부 PostgreSQL 범퍼카 토토 저장된 액세스 데이터버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.32. 토토 사이트 추천

토토 사이트 추천모듈은 외부 데이터 래퍼를 제공합니다토토 사이트 추천, 외부에 저장된 데이터에 액세스하는 데 사용할 수 있음포스트그레SQL서버.

이 모듈이 제공하는 기능은 이전 모듈의 기능과 실질적으로 겹칩니다.postgresql : 문서 : 9.4 : 토토 캔모듈. 하지만토토 사이트 추천원격 테이블에 액세스하기 위한 보다 투명하고 표준을 준수하는 구문을 제공하며 많은 경우에 더 나은 성능을 제공할 수 있습니다.

다음을 사용하여 원격 액세스를 준비하려면토토 사이트 추천:

  1. 설치토토 사이트 추천확장을 사용하여PostgreSQL :.

  2. 다음을 사용하여 외부 서버 객체 생성PostgreSQL : 문서 : 9.4 : 사설 토토 사이트 생성, 연결하려는 각 원격 데이터베이스를 나타냅니다. 다음을 제외한 연결 정보를 지정하십시오.사용자그리고비밀번호, 서버 개체의 옵션으로.

  3. 다음을 사용하여 사용자 매핑 생성PostgreSQL : 문서 : 9.4 : 사용자 윈 토토 만들기, 각 데이터베이스 사용자에 대해 각 외부 서버에 대한 액세스를 허용합니다. 사용할 원격 사용자 이름과 비밀번호를 지정하세요.사용자그리고비밀번호사용자 매핑 옵션.

  4. 다음을 사용하여 외부 테이블 생성PostgreSQL : 문서 : 9.4 : 외국 스포츠 토토 사이트 만들기, 액세스하려는 각 원격 테이블에 대해. 외부 테이블의 열은 참조된 원격 테이블과 일치해야 합니다. 그러나 외부 테이블 개체의 옵션으로 올바른 원격 이름을 지정하는 경우 원격 테이블과 다른 테이블 및/또는 열 이름을 사용할 수 있습니다.

이제 당신에게 필요한 것은선택외부 테이블에서 기본 원격 테이블에 저장된 데이터에 액세스합니다. 다음을 사용하여 원격 테이블을 수정할 수도 있습니다.삽입, 업데이트, 또는삭제. (물론, 사용자 매핑에 지정한 원격 사용자에게는 이러한 작업을 수행할 수 있는 권한이 있어야 합니다.)

일반적으로 외부 테이블의 열은 원격 테이블의 참조 열과 정확히 동일한 데이터 유형 및 해당하는 경우 데이터 정렬을 사용하여 선언하는 것이 좋습니다. 그래도토토 사이트 추천현재는 필요에 따라 데이터 유형 변환을 수행하는 것에 대해 다소 관대합니다. 원격 서버 해석으로 인해 유형이나 대조가 일치하지 않으면 놀라운 의미적 이상이 발생할 수 있습니다.어디로컬 서버와 약간 다른 절이 있습니다.

외부 테이블은 기본 원격 테이블보다 더 적은 수의 열 또는 다른 열 순서로 선언될 수 있습니다. 열과 원격 테이블의 일치는 위치가 아닌 이름을 기준으로 이루어집니다.

F.32.1. 토토 사이트 추천의 FDW 옵션

F.32.1.1. 연결 옵션

다음을 사용하는 외부 서버토토 사이트 추천외부 데이터 래퍼는 다음과 동일한 옵션을 가질 수 있습니다.libpq에 설명된 대로 연결 문자열을 허용합니다.섹션 31.1.2, 단, 다음 옵션은 허용되지 않습니다.

  • 사용자그리고비밀번호(대신 사용자 매핑을 위해 이를 지정)

  • 클라이언트_인코딩(로컬 서버 인코딩에서 자동으로 설정됨)

  • fallback_application_name(항상 다음으로 설정됨토토 사이트 추천)

수퍼유저만이 비밀번호 인증 없이 외부 서버에 연결할 수 있으므로 항상 다음을 지정하십시오.비밀번호수퍼유저가 아닌 사용자 매핑에 대한 옵션.

F.32.1.2. 개체 이름 옵션

이 옵션은 원격으로 전송되는 SQL 문에 사용되는 이름을 제어하는 데 사용할 수 있습니다.PostgreSQL서버. 이러한 옵션은 기본 원격 테이블 이름과 다른 이름으로 외부 테이블을 생성할 때 필요합니다.

schema_name

외부 테이블에 대해 지정할 수 있는 이 옵션은 원격 서버의 외부 테이블에 사용할 스키마 이름을 제공합니다. 이 옵션을 생략하면 외부 테이블의 스키마 이름이 사용됩니다.

테이블_이름

외부 테이블에 대해 지정할 수 있는 이 옵션은 원격 서버의 외부 테이블에 사용할 테이블 이름을 제공합니다. 이 옵션을 생략하면 외부 테이블의 이름이 사용됩니다.

열_이름

외부 테이블의 열에 대해 지정할 수 있는 이 옵션은 원격 서버의 열에 사용할 열 이름을 제공합니다. 이 옵션을 생략하면 해당 컬럼의 이름이 사용됩니다.

F.32.1.3. 비용 추정 옵션

토토 사이트 추천은 원격 서버에 대해 쿼리를 실행하여 원격 데이터를 검색하므로 이상적으로는 외부 테이블을 스캔하는 데 드는 예상 비용은 원격 서버에서 수행하는 데 드는 비용과 통신을 위한 약간의 오버헤드를 더한 금액이어야 합니다. 이러한 견적을 얻는 가장 신뢰할 수 있는 방법은 원격 서버에 문의한 다음 오버헤드에 대해 무언가를 추가하는 것입니다. 그러나 간단한 쿼리의 경우 비용 견적을 얻기 위해 추가 원격 쿼리 비용을 들일 가치가 없을 수도 있습니다. 그래서토토 사이트 추천비용 추정 수행 방법을 제어하기 위해 다음 옵션을 제공합니다.

use_remote_estimate

외부 테이블이나 외부 서버에 대해 지정할 수 있는 이 옵션은 다음을 제어합니다.토토 사이트 추천원격 문제설명비용 견적을 얻기 위한 명령입니다. 외부 테이블에 대한 설정은 해당 서버에 대한 모든 설정을 재정의하지만 해당 테이블에 대해서만 적용됩니다. 기본값은거짓.

fdw_startup_cost

외부 서버에 대해 지정할 수 있는 이 옵션은 해당 서버에서 외부 테이블 스캔의 예상 시작 비용에 추가되는 숫자 값입니다. 이는 연결 설정, 원격 측 쿼리 구문 분석 및 계획 등의 추가 오버헤드를 나타냅니다. 기본값은 다음과 같습니다.100.

fdw_tuple_cost

외부 서버에 대해 지정할 수 있는 이 옵션은 해당 서버에서 외부 테이블 스캔을 위한 튜플당 추가 비용으로 사용되는 숫자 값입니다. 이는 서버 간 데이터 전송에 따른 추가 오버헤드를 나타냅니다. 원격 서버에 대한 더 높거나 낮은 네트워크 지연을 반영하기 위해 이 숫자를 늘리거나 줄일 수 있습니다. 기본값은0.01.

언제use_remote_estimate사실입니다,토토 사이트 추천원격 서버에서 행 수와 비용 견적을 얻은 다음 추가합니다.fdw_startup_cost그리고fdw_tuple_cost비용 견적에. 언제use_remote_estimate거짓입니다.토토 사이트 추천로컬 행 개수 및 비용 추정을 수행한 다음 추가합니다fdw_startup_cost그리고fdw_tuple_cost비용 견적에. 원격 테이블 통계의 로컬 복사본을 사용할 수 없으면 이 로컬 추정은 매우 정확하지 않을 수 있습니다. 실행 중스포츠 토토 사이트 PostgreSQL : 문서 : 9.4 : Analyze외부 테이블에서는 로컬 통계를 업데이트하는 방법입니다. 그러면 원격 테이블을 스캔한 다음 테이블이 로컬인 것처럼 통계를 계산하고 저장합니다. 로컬 통계를 유지하는 것은 원격 테이블에 대한 쿼리별 계획 오버헤드를 줄이는 데 유용한 방법이 될 수 있습니다. 그러나 원격 테이블이 자주 업데이트되면 로컬 통계는 곧 쓸모 없게 됩니다.

F.32.1.4. 업데이트 가능성 옵션

기본적으로 모든 외부 테이블은 다음을 사용합니다.토토 사이트 추천업데이트 가능한 것으로 가정됩니다. 이는 다음 옵션을 사용하여 재정의될 수 있습니다.

업데이트 가능

이 옵션은 다음을 제어합니다.토토 사이트 추천다음을 사용하여 외부 테이블을 수정할 수 있습니다.삽입, 업데이트그리고삭제명령. 외부 테이블이나 외부 서버에 대해 지정할 수 있습니다. 테이블 수준 옵션은 서버 수준 옵션보다 우선합니다. 기본값은.

물론, 원격 테이블이 실제로 업데이트 가능하지 않다면 어쨌든 오류가 발생합니다. 이 옵션을 사용하면 주로 원격 서버에 쿼리하지 않고 로컬로 오류가 발생하도록 할 수 있습니다. 그러나 참고하세요.정보_스키마조회수가 보고됩니다.토토 사이트 추천원격 서버를 확인하지 않고도 이 옵션의 설정에 따라 외부 테이블을 업데이트할 수 있거나 업데이트할 수 없습니다.

F.32.2. 연결 관리

토토 사이트 추천외부 서버와 연결된 외부 테이블을 사용하는 첫 번째 쿼리 중에 외부 서버에 대한 연결을 설정합니다. 이 연결은 유지되며 동일한 세션의 후속 쿼리에 재사용됩니다. 그러나 여러 사용자 ID(사용자 매핑)를 사용하여 외부 서버에 액세스하는 경우 각 사용자 매핑마다 연결이 설정됩니다.

F.32.3. 거래 관리

외부 서버의 원격 테이블을 참조하는 쿼리 중토토 사이트 추천현재 로컬 트랜잭션에 해당하는 트랜잭션이 아직 열려 있지 않은 경우 원격 서버에서 트랜잭션을 엽니다. 로컬 트랜잭션이 커밋되거나 중단되면 원격 트랜잭션이 커밋되거나 중단됩니다. 저장점은 해당 원격 저장점을 생성하여 유사하게 관리됩니다.

원격 트랜잭션은 다음을 사용합니다.직렬화 가능로컬 트랜잭션의 격리 수준직렬화 가능격리 수준; 그렇지 않으면 다음을 사용합니다반복 가능한 읽기격리 수준. 이렇게 선택하면 쿼리가 원격 서버에서 여러 테이블 스캔을 수행하는 경우 모든 스캔에 대해 스냅샷과 일치하는 결과를 얻을 수 있습니다. 결과적으로 단일 트랜잭션 내의 연속적인 쿼리는 다른 활동으로 인해 원격 서버에서 동시 업데이트가 발생하더라도 원격 서버의 동일한 데이터를 보게 됩니다. 로컬 트랜잭션이 다음을 사용하는 경우 해당 동작이 예상됩니다.연속화 가능또는반복 가능한 읽기격리 수준이지만 a에게는 놀랄 수도 있습니다.읽어 커밋됨로컬 트랜잭션. 미래PostgreSQL릴리스에서는 이 규칙을 수정할 수 있습니다.

현재는 지원되지 않습니다.토토 사이트 추천2단계 커밋을 위한 원격 트랜잭션을 준비합니다.

F.32.4. 원격 쿼리 최적화

토토 사이트 추천외부 서버에서 전송되는 데이터의 양을 줄이기 위해 원격 쿼리를 최적화하려고 시도합니다. 이는 쿼리를 전송하여 수행됩니다.어디절을 원격 서버에 전달하여 실행하고 현재 쿼리에 필요하지 않은 테이블 열을 검색하지 않습니다. 쿼리가 잘못 실행될 위험을 줄이기 위해,어디절은 내장된 데이터 유형, 연산자 및 함수만 사용하지 않는 한 원격 서버로 전송되지 않습니다. 절의 연산자와 함수는 다음과 같아야 합니다.불변또한.

실행을 위해 실제로 원격 서버로 전송되는 쿼리는 다음을 사용하여 검사할 수 있습니다.상세하게 설명.

F.32.5. 원격 쿼리 실행 환경

다음에 의해 열린 원격 세션에서토토 사이트 추천, 그검색_경로매개변수가 그냥으로 설정됨pg_catalog, 스키마 한정 없이 내장 객체만 표시됩니다. 이는 다음으로 생성된 쿼리에는 문제가 되지 않습니다.토토 사이트 추천자체입니다. 항상 그러한 자격을 제공하기 때문입니다. 그러나 이는 원격 테이블의 트리거나 규칙을 통해 원격 서버에서 실행되는 기능에 위험을 초래할 수 있습니다. 예를 들어, 원격 테이블이 실제로 뷰인 경우 해당 뷰에 사용된 모든 기능은 제한된 검색 경로로 실행됩니다. 해당 함수의 모든 이름을 스키마로 한정하거나 첨부하는 것이 좋습니다.검색_경로 설정옵션(참조PostgreSQL : 문서 : 9.4 : 배트맨 토토 만들기) 이러한 기능을 사용하여 예상 검색 경로 환경을 설정합니다.

토토 사이트 추천마찬가지로 매개변수에 대한 원격 세션 설정을 구성합니다.시간대, 날짜 스타일, 간격 스타일extra_float_digits. 이는 다음보다 문제가 될 가능성이 적습니다.검색_경로, 그러나 함수로 처리할 수 있음SET필요한 경우 옵션을 선택하세요.

그렇습니다아님이러한 매개변수의 세션 수준 설정을 변경하여 이 동작을 재정의하는 것이 좋습니다. 그로 인해 발생할 가능성이 높습니다.토토 사이트 추천오작동합니다.

F.32.6. 버전 간 호환성

토토 사이트 추천이전의 원격 서버와 함께 사용할 수 있습니다.포스트그레SQL8.3. 읽기 전용 기능은 8.1부터 사용할 수 있습니다. 그러나 제한 사항은 다음과 같습니다.토토 사이트 추천일반적으로 불변 내장 함수와 연산자가 a에 나타나는 경우 실행을 위해 원격 서버로 보내도 안전하다고 가정합니다.어디에서외부 테이블에 대한 절입니다. 따라서 원격 서버 릴리스 이후 추가된 내장 함수가 실행을 위해 원격 서버로 전송되어 다음과 같은 결과가 발생할 수 있습니다."함수가 존재하지 않습니다"또는 유사한 오류. 이러한 유형의 실패는 쿼리를 다시 작성하여 해결할 수 있습니다. 예를 들어 하위 테이블 참조에 외부 테이블 참조를 삽입하면 됩니다.선택함께오프셋 0최적화 울타리로 사용하고 문제가 있는 함수나 연산자를 하위 외부에 배치선택.

F.32.7. 예

다음은 다음을 사용하여 외부 테이블을 생성하는 예입니다.토토 사이트 추천. 먼저 확장 프로그램을 설치하세요.

확장 프로그램 생성 토토 사이트 추천;

그런 다음 다음을 사용하여 외부 서버를 생성하십시오.PostgreSQL : 문서 : 9.4 : 사설 토토 사이트 생성. 이 예에서는 a에 연결하려고 합니다.포스트그레SQL호스트의 서버192.83.123.89항구에서 수신 중5432. 연결이 이루어진 데이터베이스의 이름은 다음과 같습니다.외국인_db원격 서버에서:

서버 생성 foreign_server
        외부 데이터 래퍼 토토 사이트 추천
        OPTIONS(호스트 '192.83.123.89', 포트 '5432', dbname 'foreign_db');

다음으로 정의된 사용자 매핑PostgreSQL : 문서 : 9.4 : 사용자 윈 토토 만들기는 원격 서버에서 사용될 역할을 식별하는 데에도 필요합니다.

local_user에 대한 사용자 매핑 생성
        서버 foreign_server
        OPTIONS(사용자 'foreign_user', 비밀번호 'password');

이제 다음을 사용하여 외부 테이블을 생성할 수 있습니다.PostgreSQL : 문서 : 9.4 : 외국 스포츠 토토 사이트 만들기. 이 예에서는라는 테이블에 액세스하려고 합니다.some_schema.some_table원격 서버에서. 해당 지역 이름은 다음과 같습니다.외국_테이블:

외부 테이블 생성 foreign_table (
        ID 일련번호는 NULL이 아닙니다.
        데이터 텍스트
)
        서버 foreign_server
        OPTIONS(스키마_이름 'some_schema', 테이블_이름 'some_table');

다음에 선언된 열의 데이터 유형 및 기타 속성이 중요합니다.외부 테이블 생성실제 원격 테이블과 일치합니다. 첨부하지 않는 한 열 이름도 일치해야 합니다.열_이름개별 열에 옵션을 추가하여 원격 테이블에서 이름이 어떻게 지정되는지 보여줍니다.