dblink_get_result - взять результат выполнения асинхронного запроса.
dblink_get_result забирает результат выполнения асинхронного запроса отправленного функцией dblink_send_query. Если асинхронный запрос еще не отработал, то dblink_get_result будет ждать его выполнения.
имя соединения - обязательное поле, имя соединения;
остановка в случае ошибки - необязательный логический параметр, Если он указан как TRUE (что является умолчательным значением когда данный параметр опущен), то ошибка возвращаемая в случае неправильного выполнения удаленного запроса применяется и локально, при FALSE же ошибка выводится только лишь в качестве уведомления, а функция возвращает 0 строк.
Возвращает строки типа record, поэтому поля строки после получения требуется определить, хотя можно так же как и для dblink создать отдельные функции возвращающие определенные типы строк.
Вообще то в родной документации написано, что при выполнении SQL команд возвращается одно текстовое поле, но это не так, в dblink баг (о чем я им написал, как быстро исправят - неизвестно).
Когда таки хочется узнать о том как отработала наша SQL команда, можно использовать следущий алгоритм в функциях:
Только следует иметь ввиду, что у данного соединения не было ошибки до выполнения этого блока. Правильней будет сравнивать результат до и после.
http://www.postgresql.org/docs/8.4/static/contrib-dblink-get-result.html