이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.윈 토토 43_B |A |6버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

dblink_get_result

이름

dblink_get_result -- 비동기 쿼리 결과 가져오기

시놉시스

dblink_get_result(text connname [, bool failure_on_error])는 레코드 세트를 반환합니다.

설명

dblink_get_result수집 이전에 전송된 비동기 쿼리의 결과dblink_send_query. 쿼리가 아직 없는 경우 완료됨,dblink_get_result할 것이다 될 때까지 기다리세요.

인수

콘네임

사용할 연결의 이름입니다.

fail_on_error

참이면(생략 시 기본값) 오류가 발생합니다. 연결의 원격 측에서도 오류가 발생합니다. 로컬로. false인 경우 원격 오류는 로컬로 보고됩니다. NOTICE이며 함수는 행을 반환하지 않습니다.

반환 값

비동기 쿼리(즉, 행을 반환하는 SQL 문)의 경우, 이 함수는 쿼리에 의해 생성된 행을 반환합니다. 이것을 사용하려면 함수를 사용하려면 다음과 같이 예상되는 열 집합을 지정해야 합니다. 이전에 논의된 내용은 다음과 같습니다.dlink.

비동기 명령의 경우(즉, SQL 문이 반환되지 않음) 행), 함수는 단일 텍스트 열이 있는 단일 행을 반환합니다. 명령의 상태 문자열을 포함합니다. 여전히 필요합니다 결과에 단일 텍스트 열이 포함되도록 지정합니다. 전화발신절.

참고

이 기능반드시베 다음과 같은 경우에 호출됩니다.dblink_send_query반환됨 1. 전송된 각 쿼리에 대해 한 번 호출되어야 하며 추가로 한 번 호출되어야 합니다. 연결이 완료되기 전에 빈 설정 결과를 얻는 데 걸리는 시간 다시 사용했습니다.

사용 시dblink_send_query그리고dblink_get_result, dlink전체 원격 쿼리 결과를 가져옵니다. 로컬 쿼리 프로세서로 반환하기 전에. 만약 쿼리가 많은 수의 행을 반환하면 일시적인 결과가 발생할 수 있습니다. 로컬 세션의 메모리 팽창. 그런 곳을 여는 것이 더 나을 수도 있습니다. 를 사용하여 커서로 쿼리dblink_open그런 다음 한 번에 관리 가능한 수의 행을 가져옵니다. 또는 일반을 사용하세요.dlink(), 이는 큰 결과 세트를 스풀링하여 메모리 팽창을 방지합니다. 디스크.

contrib_regression=# SELECT dblink_connect('dtest1', 'dbname=contrib_regression');
 dblink_connect
----------------
 알았어
(1줄)

contrib_regression=# SELECT * FROM
contrib_regression-# dblink_send_query('dtest1', 'select * from foo where f1 < 3') AS t1;
 t1
----
  1
(1줄)

contrib_regression=# SELECT * FROM dblink_get_result('dtest1') AS t1(f1 int, f2 text, f3 text[]);
 f1 | f2 |     f3
----+------+------------
  0 | | a0,b0,c0
  1 | 비 | a1,b1,c1
  2 | c | a2,b2,c2