Как использовать 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, после этого я проверил, установлено ли соединение или нет? Я получил вышеуказанную ошибку. Можете ли вы дать какие-либо предложения.