021 dimensions dimension1
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
|
||||
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO dbo;
|
||||
|
||||
SET ROLE dbo;
|
||||
DROP SCHEMA IF EXISTS vmreports CASCADE;
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports AUTHORIZATION dbo;
|
||||
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO nifi,analytics,analyst; -- это работает и для внешних таблиц
|
||||
--ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi,analytics,analyst;
|
||||
|
||||
/*
|
||||
конструкция осложняется тем, что
|
||||
нужен один пользователь-владелец и второй читатель
|
||||
Это вызывает множество телодвижений при создании.
|
||||
Необходимость указывать пароль при локальном коннекте не очень радует
|
||||
(ведь пользователь локальный, прописан на этом же сервере)
|
||||
*/
|
||||
|
||||
DROP SERVER IF EXISTS billing CASCADE;
|
||||
CREATE SERVER billing
|
||||
FOREIGN DATA WRAPPER postgres_fdw
|
||||
OPTIONS (host 'localhost', port '5432', dbname 'billing', updatable 'false');
|
||||
DROP USER MAPPING IF EXISTS FOR PUBLIC SERVER billing;
|
||||
CREATE USER MAPPING FOR PUBLIC SERVER billing OPTIONS (user 'nifi', password '***');
|
||||
|
||||
IMPORT FOREIGN SCHEMA vmreports FROM SERVER billing INTO vmreports;
|
||||
|
||||
--select * from vmreports.host;
|
||||
|
||||
/*
|
||||
план миграции
|
||||
Забекапить схему vmreports
|
||||
Восстановить схему vmreports в базу биллинг
|
||||
Поменять целевую базу импорта НиФи (для прода - втащить новый обмен из репозитория)
|
||||
Выполнить скрипт в базе DWH - он удалит физические таблицы и создаст внешние таблицы на базу billing
|
||||
*/
|
||||
Reference in New Issue
Block a user