롤 토토 — 원격 데이터베이스에서 쿼리를 실행합니다.
롤 토토(text connname, text sql [, bool failure_on_error])는 레코드 세트를 반환합니다. 롤 토토(text connstr, text sql [, bool failure_on_error])는 레코드 세트를 반환합니다. 롤 토토(text sql [, bool failure_on_error])는 레코드 세트를 반환합니다.
dlink쿼리를 실행합니다(보통 a선택, 그러나 원격 데이터베이스에서는 행을 반환하는 모든 SQL 문일 수 있습니다.
두 명이면텍스트인수가 주어지면 첫 번째 인수는 먼저 지속적인 연결의 이름으로 조회됩니다. 발견되면 해당 연결에서 명령이 실행됩니다. 찾을 수 없는 경우 첫 번째 인수는 다음과 같이 연결 정보 문자열로 처리됩니다.dlink_connect, 표시된 연결은 이 명령이 실행되는 동안에만 이루어집니다.
콘네임사용할 연결 이름. 이름이 지정되지 않은 연결을 사용하려면 이 매개변수를 생략하세요.
connstr앞서 설명한 연결 정보 문자열롤 토토_connect.
sql예를 들어 원격 데이터베이스에서 실행하려는 SQL 쿼리foo에서 * 선택.
fail_on_error참이면(생략 시 기본값) 연결의 원격 측에서 발생한 오류로 인해 로컬에서도 오류가 발생하게 됩니다. false인 경우 원격 오류는 로컬에서 NOTICE로 보고되고 함수는 행을 반환하지 않습니다.
함수는 쿼리에 의해 생성된 행을 반환합니다. 이후dlink모든 쿼리와 함께 사용할 수 있으며 반환하도록 선언되었습니다.기록, 특정 열 집합을 지정하는 대신. 이는 호출 쿼리에서 예상되는 열 집합을 지정해야 함을 의미합니다. 그렇지 않으면포스트그레SQL무엇을 기대해야 할지 알 수 없었습니다. 예는 다음과 같습니다.
선택 *
FROM dblink('dbname=mydb 옵션=-csearch_path=',
'pg_proc에서 proname, prosrc 선택')
AS t1(이름, prosrc 텍스트)
'bytea%'와 같은 이름이 있는 곳;
그“별칭”부분의발신절은 함수가 반환할 열 이름과 유형을 지정해야 합니다. (별칭에 열 이름을 지정하는 것은 실제로 표준 SQL 구문이지만 열 유형을 지정하는 것은 a입니다.PostgreSQL확장.) 이를 통해 시스템은 무엇을 이해할 수 있습니다.*다음으로 확장되어야 하며, 무엇을이름에서어디절은 함수 실행을 시도하기 전을 의미합니다. 런타임 시 원격 데이터베이스의 실제 쿼리 결과에 표시된 열 수가 동일하지 않으면 오류가 발생합니다.발신절. 그러나 열 이름은 일치할 필요가 없습니다.dlink또한 정확한 유형 일치를 주장하지 않습니다. 반환된 데이터 문자열이 선언된 열 유형에 대한 유효한 입력인 경우에는 성공합니다.발신절.
편리한 사용 방법dlink미리 결정된 쿼리를 사용하여 뷰를 생성하는 것입니다. 이를 통해 모든 쿼리에서 열 유형 정보를 자세히 설명할 필요 없이 뷰에 숨겨질 수 있습니다. 예를 들어,
myremote_pg_proc AS 보기 생성
선택 *
FROM dblink('dbname=postgres 옵션=-csearch_path=',
'pg_proc에서 proname, prosrc 선택')
AS t1(proname 이름, prosrc 텍스트);
SELECT * FROM myremote_pg_proc WHERE proname LIKE 'bytea%';SELECT * FROM dblink('dbname=postgres 옵션=-csearch_path=',
'pg_proc에서 proname, prosrc 선택')
AS t1(proname 이름, prosrc text) WHERE proname LIKE 'bytea%';
성씨 | prosrc
------------+------------
바이티캣 | byteacat
바이테이크 | 바이테이크
바이틸트 | 바이틸트
바이테일 | 바이트테일
바이트 | byteagt
바이트수 | 바이트수
바이테인 | 바이테인
바이트캠프 | 바이트캠프
바이티라이크 | bytealike
바이틴라이크 | 바이트 같은
바이테인 | 안녕
바이티아웃 | 바이티아웃
(12열)
SELECT 롤 토토_connect('dbname=postgres 옵션=-csearch_path=');
롤 토토_connect
----------------
알았어
(1줄)
SELECT * FROM dblink('pg_proc에서 proname, prosrc 선택')
AS t1(proname 이름, prosrc text) WHERE proname LIKE 'bytea%';
성씨 | prosrc
------------+------------
바이티캣 | byteacat
바이테이크 | 바이테이크
바이틸트 | 바이틸트
바이테일 | 바이트테일
바이트 | byteagt
바이트수 | 바이트수
바이테인 | 바이테인
바이트캠프 | 바이트캠프
바이티라이크 | bytealike
바이틴라이크 | 바이트 같은
바이테인 | 안녕
바이티아웃 | 바이티아웃
(12열)
SELECT 롤 토토_connect('myconn', 'dbname=회귀 옵션=-csearch_path=');
롤 토토_connect
----------------
알았어
(1줄)
SELECT * FROM dblink('myconn', 'pg_proc에서 proname, prosrc 선택')
AS t1(proname 이름, prosrc text) WHERE proname LIKE 'bytea%';
성씨 | prosrc
------------+------------
bytearecv | bytearecv
byteasend | byteasend
바이테일 | 바이트테일
바이트 | byteagt
바이트수 | 바이트수
바이테인 | 바이테인
바이트캠프 | 바이트캠프
바이티라이크 | bytealike
바이틴라이크 | 바이트 같은
바이티캣 | byteacat
바이테이크 | 바이테이크
바이틸트 | 바이틸트
바이테인 | 안녕
바이티아웃 | 바이티아웃
(14행)