From 6ee36d4ca1e57042611567af270152b0d7e54e82 Mon Sep 17 00:00:00 2001 From: brusnitsyn Date: Wed, 17 Dec 2025 23:55:27 +0900 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20FDW?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup-fdw.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 setup-fdw.md diff --git a/setup-fdw.md b/setup-fdw.md new file mode 100644 index 0000000..bd995d7 --- /dev/null +++ b/setup-fdw.md @@ -0,0 +1,46 @@ +# Подключение таблицы из реплики MIS + +Подключаемся к БД от postgres +``` +sudo su - postgres +``` + +Выбираем рабочую БД +``` +\c kartoteka +``` + +Создаем расширение fdw +```postgresql +CREATE EXTENSION postgres_fdw; +``` + +Указываем параметры подключения к серверу +```postgresql +CREATE SERVER mis_data +FOREIGN DATA WRAPPER postgres_fdw +OPTIONS (dbname 'database_name', host '127.0.0.1', port '5432'); +``` + +Делам маппинг пользователя для доступа к удаленному серверу +```postgresql +CREATE USER MAPPING FOR kartoteka +SERVER mis_data +OPTIONS (USER 'user_inner_db', password 'password_inner_db'); +``` + +Разрешаем пользователю ``kartoteka`` подключение к удаленному серверу +```postgresql +GRANT USAGE ON FOREIGN SERVER mis_data TO kartoteka; +``` + +Подключаем таблицу ``stt_medicalhistory`` +```postgresql +IMPORT FOREIGN SCHEMA public LIMIT TO (stt_medicalhistory) +FROM SERVER mis_data INTO public; +``` + +Если таблица ``stt_medicalhistory`` больше не нужна +```postgresql +DROP FOREIGN TABLE stt_medicalhistory; +```