Как использовать dblink_connect и dblink_connect_u

У меня есть две базы данных в Postgres, и я хочу получить доступ к данным из одной базы данных в другие таблицы базы данных. Я пытался так:

dblink_connect('myconn','hostaddr=10.10.30.53 dbname=postgres user=postgres password=postgres')

а также

dblink_connect_u('myconn','hostaddr=10.10.30.53 dbname=postgres user=postgres password=postgres')

Это приводит к синтаксической ошибке:

ОШИБКА: синтаксическая ошибка в или рядом с "dblink_connect" LINE 1: dblink_connect ('myconn', 'hostaddr = 10.10.30.53 dbname = postgre... ^
* ** Ошибка ** * ОШИБКА: синтаксическая ошибка в или рядом с состоянием SQL "dblink_connect":

Нужно ли что-то менять в pg.hba.conf файл?
Кто-нибудь может дать мне шаги с примером?

2 ответа

Синтаксическая ошибка указывает, что сам оператор вызывает проблемы. изменения pg_hba.conf не решит это. Ваше заявление выглядит хорошо - за исключением пропавших без вести SELECT (или возможно PERFORM в функции plpgsql):

SELECT dblink_connect('myconn'
       ,'hostaddr=10.10.30.53 dbname=postgres user=postgres password=postgres')

Это простой SQL SELECT заявление.
Если это не так, вы уверены, что установили дополнительный модуль dblink и search_path включает в себя схему вы установили его?

Да, я сделал ссылку на расширение и схему, включенную в search_path, после этого я проверил, установлено ли соединение или нет? Я получил вышеуказанную ошибку. Можете ли вы дать какие-либо предложения.

Другие вопросы по тегам