INT 21h

Hi, I am Vladimir Smagin, SysAdmin, DevOps and barely good guy. Telegram Email / GIT / Микроблог / Thingiverse / GPG

Удаленные таблицы через Foreign Data Wrapper

№ 10366 В разделе "Администрирование" от October 11th, 2019,

Никогда этим не занимался и вот опять.

Нужно это чтобы отправлять запросы к внешним таблицам будто бы они размещены локально. Называется это FOREIGN TABLE и работает оно через Foreign Data Wrapper. Как внешние источники можно подключать не только PostgreSQL, но и другие СУБД. Мне нужен PostrgeSQL

На источнике данных создаю пользователя с правом чтения забираемой схемы:

CREATE USER vlad_remote LOGIN PASSWORD 'GesAim7bla' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT ro_group TO vlad_remote;

После этого на источнике данных нужно добавить в pg_hba запись, разрешающую подключение с целевого сервера. Больше никаких правок там делать не требуется.

Теперь на целевом сервере нужно подгрузить fdw расширение: CREATE EXTENSION postgres_fdw;

Далее создать SERVER, указывающий на источник данных:

CREATE SERVER home_db FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'blindage.org', dbname 'zabbix');

Маппинг нужен чтобы текущий пользователь мог авторизоваться на источнике данных:

CREATE USER MAPPING FOR CURRENT_USER SERVER home_db OPTIONS (user 'vlad_remote', password 'GesAim7bla');

После этого можно либо создавать удаленные таблицы через CREATE FOREIGN TABLE, либо испортировать всю схему или часть таблиц через IMPORT FOREIGN SCHEMA.

Всю базу данных светить не нужно, если нужна только одна таблица items. Делаем новую БД и импорт только одной таблицы:

CREATE SCHEMA zabbix;
IMPORT FOREIGN SCHEMA public limit to (items) FROM SERVER home_db INTO zabbix;

Ну и проверяем:

SELECT * FROM zabbix.items LIMIT 1;

Все.

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Микроблог перейти

# 2019-11-20 13:13:54

Говорят вещь хорошая, надо будет поковырять на днях keel.sh/ #kubernetes #devops

# 2019-11-16 02:02:31

Хорошая шпаргалка по пластикам для печати drive.google.com/file/d/1NKB3- В принципе, данные практически сходятся с моими blindage.org/?p=10199

# 2019-11-14 15:29:01

Код quay теперь открыт www.projectquay.io/ #devops #kubernetes


© Vladimir Smagin, 2005-2019. Копирование материалов без разрешения запрещено. GPG DA4CD0F5E222EA727D6A40C413BCE12E5618F071 *
Яндекс.Метрика

Fortune cookie: "Water? Never touch the stuff! Fish fuck in it." -- W. C. Fields