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; +```