LINUX.ORG.RU

MATERIALIZED VIEW and запросы к нескольким базам данных

 ,


0

2

Я прочитал, что в PostgreSQL до сих пор нет механизма выполнения SELECT, связывающего таблицы из разных баз данных.

А MATERIALIZED VIEW тоже не умеет создавать «материализованное представление» с одного сервера на другой?

Реализованы ли в 2020 году инкрементальные обновления MATERIALIZED VIEW в PostgreSQL?

Расскажите, как вы решаете этот вопрос. Используя DBLink, postgres-fdw. Или ещё как-то?

По сути дела, мне нужна синхронизация (обновление в ручном режиме или по расписанию) таблицы на основе определённого SELECT. То есть, копирование части столбцов с одной базы в другую. Пока что единственный способ, который вижу, это COPY FROM/COPY TO через оперативную память. Но на больших объёмах стрёмно так делать.

kafka конекторы но в твоём случае, если это не подходит то я думаю делай copy из реплики например.

anonymous ()
Ответ на: комментарий от anonymous

я думаю делай copy из реплики например.

Да, наверное, это самый правильный путь. Спасибо.

BruteForceSSL ()

нет механизма выполнения SELECT, связывающего таблицы из разных баз данных.

Здрастье приехали... объявляешь внешнюю таблицу https://www.postgresql.org/docs/current/sql-createforeigntable.html и используешь.

А MATERIALIZED VIEW тоже не умеет создавать «материализованное представление» с одного сервера на другой?

Умеет:

create foreign table local (...) server other;
create materialized view v_local as select * from local;

Реализованы ли в 2020 году инкрементальные обновления MATERIALIZED VIEW в PostgreSQL?

Нет. Но можно помочь с ревью и тестированием: https://commitfest.postgresql.org/28/2138/

Расскажите, как вы решаете этот вопрос.

Разными способами, в зависимости от конкретной задачи.

DBLink, postgres-fdw. Или ещё как-то?

И dblink и postgres_fdw и copy from/copy to по крону и логическая репликация и через внешние очереди и через само приложение. Выбирайте что вам больше нравится и подходит.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.