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

dblink_get_result

이름

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

시놉시스

DBLINK_GET_RESULT (Text Connname [, BOOL FAIL_ON_ERROR]) 레코드를 반환

설명

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