DBLINK_CONNECT - 원격 데이터베이스에 대한 지속적인 연결
DBLINK_CONNECT (Text Connstr) 텍스트를 반환합니다 DBLINK_CONNECT (Text Connname, Text Connstr) 텍스트를 반환
dblink_connect ()
리모컨 연결 설정윈 토토데이터베이스. 연락 할 서버 및 데이터베이스는 표준을 통해 식별됩니다libpq연결 문자열. 선택적으로 이름을 연결에 할당 할 수 있습니다. 여러 이름의 연결을 한 번에 열 수 있지만 한 번에 하나의 이름이없는 연결이 허용됩니다. 연결은 종료 될 때까지 또는 데이터베이스 세션이 종료 될 때까지 지속됩니다.
연결 문자열은 기존 외국 서버의 이름 일 수도 있습니다. 외국 데이터 포장지를 사용하는 것이 좋습니다dblink_fdw
외국 서버를 정의 할 때. 아래 예제와 참조서버 생성및PostgreSQL:.
Connname
이 연결에 사용할 이름; 생략하면 이름이없는 연결이 열리고 기존의 이름이없는 연결을 대체합니다.
connstr
libpq-스타일 연결 정보 문자열, 예를 들어hostaddr = 127.0.0.1 포트 = 5432 dbname = mydb user = postgres password = mypasswd 옵션 = -csearch_path =
. 자세한 내용은 참조섹션 32.1.1. 또는 외국 서버의 이름입니다.
상태를 반환합니다. 항상OK
(오류가 반환하는 대신 오류를 던지기 때문에)..
신뢰할 수없는 사용자가 채택되지 않은 데이터베이스에 액세스 할 수있는 경우보안 스키마 사용 패턴, 공개적으로 쓰레기 스키마를 제거하여 각 세션을 시작하십시오search_path
. 예를 들어 add와 같은 사람은옵션 = -csearch_path =
toconnstr
. 이 고려 사항은dblink
; 임의의 SQL 명령을 실행하기 위해 모든 인터페이스에 적용됩니다.
외국 데이터 포장지DBLINK_FDW
추가 부울 옵션이 있습니다use_scram_passthrough
|dblink
SCRAM 패스 스루 인증을 사용하여 원격 데이터베이스에 연결합니다. Scram Pass-Strough 인증,dblink
원격 서버에 연결하기 위해 일반 텍스트 사용자 암호 대신 Scram-Hashed Secret을 사용합니다. 이것은 윈 토토 시스템 카탈로그에 일반 텍스트 사용자 암호를 저장하지 않습니다. 동등한 문서를 참조하십시오use_scram_passthrough
자세한 내용 및 제한 사항은 Postgres_FDW의 옵션입니다.
슈퍼 사용자 만 사용할 수 있습니다DBLINK_CONNECT
비밀번호 인증, SCRAM 패스 스루 또는 gssapi-authentication을 사용하지 않는 연결을 생성합니다. 비 슈퍼 사용자 가이 기능이 필요한 경우 사용DBLINK_CONNECT_U
대신.
동일한 부호를 포함하는 연결 이름을 선택하는 것은 현명하지 않습니다.dblink
기능.
DBLINK_CONNECT 선택 ( 'dbname = postgres 옵션 = -csearch_path ='); DBLINK_CONNECT --------------- 좋아요 (1 줄) DBLINK_CONNECT ( 'myConn', 'dbname = postgres 옵션 = -csearch_path =')를 선택하십시오. DBLINK_CONNECT --------------- 좋아요 (1 줄) - 외국 데이터 래퍼 기능 -참고 : Scram Pass-Strough를 사용하지 않는 로컬 연결은 비밀번호가 필요합니다. - 제대로 작동하기위한 인증. 그렇지 않으면, 당신은 받게됩니다 - dblink_connect ()의 다음 오류 : - 오류 : 비밀번호가 필요합니다 -세부 사항 : 서버가 비밀번호를 요청하지 않으면 SuperUser가 아닌 연결이 필요합니다. - 힌트 : 대상 서버의 인증 방법을 변경해야합니다. 서버 fdtest 외국 데이터 래퍼 DBLINK_FDW 옵션을 작성합니다 (hostAddr '127.0.0.1', dbname 'contrib_regression'); 비밀번호 '비밀'으로 사용자 regress_dblink_user를 만듭니다. Regress_DBLINK_USER 서버 FDTEST 옵션에 대한 사용자 매핑 생성 (사용자 'regress_dblink_user', Password 'Secret'); regress_dblink_user에 대한 외국 서버 fdtest에 대한 사용량을 부여하십시오. regress_dblink_user로 테이블 foo에서 선택을받습니다. \ set original_user : user \ c -rebosress_dblink_user 선택 DBLINK_CONNECT ( 'MyConn', 'fdtest'); DBLINK_CONNECT --------------- 좋아요 (1 줄) 선택 *에서 dblink ( 'myconn', 'select * from fool')로 t (a int, b text, c text []); A | B | 기음 ----+---+---------------- 0 | A | A0, B0, C0 1 | B | A1, B1, C1 2 | C | A2, B2, C2 3 | d | A3, B3, C3 4 | e | A4, B4, C4 5 | f | A5, B5, C5 6 | g | A6, B6, C6 7 | H | A7, B7, C7 8 | i | A8, B8, C8 9 | J | A9, B9, C9 10 | k | A10, B10, C10