У нас есть учетные данные базы данных Postgres (с SSL) от нашего подрядчика, которые позволяют нам подключаться к БД с помощью pdAdmin 3. БД доступно только для чтения (не может выполнять pg_dump) нам и в основном подрядчик не предоставит нам больше привилегий.Postgres: Использование dblink для удаленного подключения
Нам нужно получить данные из этого удаленного БД в наш локальный БД. Поэтому я хотел использовать dblink для выполнения этой задачи.
Я бегу это на PSQL:
insert into shifts select * from dblink('hostaddr=remote_addr port=9000 dbname=production user=user password=passwd', 'select user_id, location_id from shifts') as t1(user_id integer, location_id integer);
Тогда я получил:
ERROR: password is required DETAIL: Non-superuser cannot connect if the server does not request a password. HINT: Target server's authentication method must be changed.
Поскольку я новичок в Postgres и DBLink, я понятия не имею, почему она жаловалась нет пароля. И интересно, для соединения dblink удаленная база данных должна предоставлять дополнительные привилегии?
Если pdAdmin 3 может подключиться к удаленной БД с учетными данными, что мне делать, чтобы заставить dblink работать?
Спасибо!
Можете ли вы пролить свет на то, что должен сделать удаленный суперпользователь, чтобы мы могли использовать dblink? Благодаря! – nigong
@nigong я отредактировал вопрос. – SarthAk
@nigong см. Ответ за то, что вам нужно создать расширение dblink – SarthAk