롤 토토 — 원격 데이터베이스에 대한 영구 연결을 엽니다.
롤 토토(text connstr)는 텍스트를 반환합니다. 롤 토토(text connname, text connstr)는 텍스트를 반환합니다.
롤 토토()리모컨에 연결을 설정합니다롤 토토데이터베이스. 접속할 서버와 데이터베이스는 표준을 통해 식별됩니다.libpq연결 문자열. 선택적으로 연결에 이름을 할당할 수 있습니다. 여러 개의 명명된 연결을 한 번에 열 수 있지만 명명되지 않은 연결은 한 번에 하나만 허용됩니다. 연결은 닫힐 때까지 또는 데이터베이스 세션이 종료될 때까지 지속됩니다.
연결 문자열은 기존 외부 서버의 이름일 수도 있습니다. 외부 데이터 래퍼를 사용하는 것이 좋습니다.dblink_fdw외부 서버를 정의할 때. 아래 예도 참조하세요.서버 생성그리고사용자 매핑 생성.
콘네임이 연결에 사용할 이름. 생략하면 이름 없는 연결이 열리고 이름 없는 기존 연결이 대체됩니다.
connstrlibpq-스타일 연결 정보 문자열(예:)hostaddr=127.0.0.1 포트=5432 dbname=mydb 사용자=postgres 비밀번호=mypasswd 옵션=-csearch_path=. 자세한 내용은 참조섹션 33.1.1. 또는 외부 서버의 이름입니다.
항상 상태를 반환합니다.확인(오류가 발생하면 함수가 반환하는 대신 오류를 발생시키므로).
신뢰할 수 없는 사용자가 다음을 채택하지 않은 데이터베이스에 액세스할 수 있는 경우보안 스키마 사용 패턴, 공개적으로 쓰기 가능한 스키마를 제거하여 각 세션을 시작합니다.검색_경로. 예를 들어 다음을 추가할 수 있습니다.옵션=-csearch_path=에connstr. 이 고려 사항은 다음에만 국한되지 않습니다.dlink; 임의의 SQL 명령을 실행하기 위한 모든 인터페이스에 적용됩니다.
수퍼유저만 사용할 수 있습니다.롤 토토비밀번호로 인증되지 않은 연결을 생성합니다. 수퍼유저가 아닌 사람에게 이 기능이 필요한 경우 다음을 사용하세요.롤 토토_u대신.
등호가 포함된 연결 이름을 선택하는 것은 현명하지 않습니다. 이는 다른 연결 정보 문자열과 혼동될 위험이 있기 때문입니다.dlink함수.
SELECT 롤 토토('dbname=postgres 옵션=-csearch_path=');
롤 토토
----------------
알았어
(1줄)
SELECT 롤 토토('myconn', 'dbname=postgres 옵션=-csearch_path=');
롤 토토
----------------
알았어
(1줄)
-- 외부 데이터 래퍼 기능
-- 참고: 로컬 연결이 제대로 작동하려면 비밀번호 인증이 필요합니다.
-- 그렇지 않으면 롤 토토()에서 다음과 같은 오류가 발생합니다.
-- ---------------------------------------------------------
-- 오류: 비밀번호가 필요합니다.
-- 세부사항: 서버가 비밀번호를 요청하지 않으면 수퍼유저가 아닌 사용자는 연결할 수 없습니다.
-- 힌트: 대상 서버의 인증 방법을 변경해야 합니다.
서버 fdtest 외부 데이터 래퍼 생성 dblink_fdw 옵션(hostaddr '127.0.0.1', dbname 'contrib_regression');
비밀번호 '비밀'을 사용하여 사용자 regress_dblink_user 생성;
regress_dblink_user 서버 fdtest 옵션에 대한 사용자 매핑 생성(사용자 'regress_dblink_user', 비밀번호 'secret');
regress_dblink_user에 외부 서버 fdtest에 대한 사용 권한을 부여합니다.
regress_dblink_user에 대한 테이블 foo에 대한 선택 부여;
\set ORIGINAL_USER : 사용자
\c - regress_dblink_user
SELECT 롤 토토('myconn', 'fdtest');
롤 토토
----------------
알았어
(1줄)
SELECT * FROM dblink('myconn', 'SELECT * FROM foo') AS t(a int, b 텍스트, c 텍스트[]);
| 비 | ㄷ
----+---+---------------
0 | | a0,b0,c0
1 | 비 | a1,b1,c1
2 | c | a2,b2,c2
3 | 디 | a3,b3,c3
4 | 전자 | a4,b4,c4
5 | 에프 | a5,b5,c5
6 | 지 | a6,b6,c6
7 | 시간 | a7,b7,c7
8 | 나 | a8,b8,c8
9 | j | a9,b9,c9
10 | 케이 | a10,b10,c10