이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다윈 토토 43_B |A |6버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

dblink_get_result

이름

DBLINK_GET_RESULT- 비동기 쿼리 결과를 가져옵니다

시놉시스

DBLINK_GET_RESULT (Text Connname [, BOOL FAIL_ON_ERROR]) SETOF record를 반환합니다.

설명

dblink_get_result수집 이전에 전송 된 비동기 쿼리 결과DBLINK_SEND_QUERY. 쿼리가 아직없는 경우 완전한,dblink_get_result의지 기다릴 때까지 기다립니다.

인수

Connname

사용 연결 이름.

FAIL_ON_ERROR

true (생략 된 경우 기본값). 연결의 원격 측면으로 인해 오류가 발생합니다. 장소 상에서. False 인 경우 원격 오류는 로컬로보고됩니다. 통지하고 함수는 행이 없습니다.

반환 값

비동기 쿼리의 경우 (즉, SQL 문을 반환하는 행), 함수는 쿼리에서 생성 된 행을 반환합니다. 이것을 사용합니다 함수, 예상 열 세트를 다음과 같이 지정해야합니다. 이전에 논의 된dblink.

Async 명령의 경우 (즉, 반환되지 않음 SQL 문 행), 함수는 단일 텍스트 열로 단일 행을 반환합니다. 명령의 상태 문자열을 포함합니다. 여전히 필요합니다 결과에 단일 텍스트 열이 부름From절.

노트

이 기능필수be 호출 ifDBLINK_SEND_QUERY반환 1. 전송 된 각 쿼리마다 한 번 호출해야하며 추가로 호출해야합니다. 연결하기 전에 빈 설정 결과를 얻을 시간 다시 사용.

사용시DBLINK_SEND_QUERYanddblink_get_result, dblink전체 원격 쿼리 결과를 가져옵니다 로컬 쿼리 프로세서로 반환하기 전에. 만약 쿼리는 많은 수의 행을 반환하면 일시적으로 발생할 수 있습니다. 로컬 세션에서 메모리 팽창. 그러한 것을 여는 것이 더 낫습니다 커서로 쿼리dblink_open그런 다음 한 번에 관리 가능한 행을 가져옵니다. 또는 평범한 사용dblink (), 큰 결과 세트를 디스크.

예제

Contrib_Regression =# dblink_connect를 선택합니다 ( 'dtest1', 'dbname = contrib_regression');
 DBLINK_CONNECT
---------------
 좋아요
(1 줄)

Contrib_Regression =# 선택 *에서
Contrib_Regression-# dblink_send_query ( 'dtest1', 'select * from foo where f1 <3');
 T1
----
  1
(1 줄)

Contrib_Regression =# select * from dblink_get_result ( 'dtest1')에서 t1 (f1 int, f2 text, f3 text []);
 F1 | f2 |     F3
----+----+------------
  0 | A | A0, B0, C0
  1 | B | A1, B1, C1
  2 | C | A2, B2, C2