powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Репликация/выгрузка данных из нескольких БД по правилу
7 сообщений из 7, страница 1 из 1
Репликация/выгрузка данных из нескольких БД по правилу
    #38501137
zyke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожулуйста,как решить данную задачку на Postgres для Linux:
Еcть несколько офисов, каждый офис пишет данные в свою отдельную БД1.
А есть БД2, каждый офис должен сливать (несколько раз в день) данные из БД1 в БД2 (какие-то таблицы целиком, у других таблиц - некоторые столбцы, правило отбора данных из БД1 для всех офисов одно).
Таким образом БД2 содержит объединение отобранных данных БД1 всех офисов.

С Postgres работаю недавно. Есть ли готовые средства/утилиты/пакеты или нужно писать нечто своё?
...
Рейтинг: 0 / 0
Репликация/выгрузка данных из нескольких БД по правилу
    #38501658
Stan_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Могу ошибиться, но в этой задаче основная проблема не в копировании (pgdump/pgrestore, скорее всего, решат задачу), что можно настроить по крону, а в уникальности и не пересечении ключевого поля. Я сейчас стараюсь везде применять uuid вместо int, что позволяет в будущем делать такие вещи.
...
Рейтинг: 0 / 0
Репликация/выгрузка данных из нескольких БД по правилу
    #38501942
zyke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stan_1,
с uuid согласен, так и делаю. А вот pg_restore/pg_dump не умеет отдельные столбцы пулять.
Напрашивается вариант через расширение postgres_fdw. Пишешь скрипт выгрузки и используешь pgAgent (ставится отдельно).
Что думаете про этот вариант?
...
Рейтинг: 0 / 0
Репликация/выгрузка данных из нескольких БД по правилу
    #38502012
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то у меня по прочитыванию топика вопрос возник. Что, если надо выгружать фильтрованные строки, а не столбцы?

Интересно, может ли pg_dump работать с вьюхами, чтобы выгрузить в дамп только определенные строки?
С партицированными таблицами, чтобы выгрузить только данные за определенные дни?... тут вроде как да без вопросов.
...
Рейтинг: 0 / 0
Репликация/выгрузка данных из нескольких БД по правилу
    #38503763
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stan_1Могу ошибиться, но в этой задаче основная проблема не в копировании (pgdump/pgrestore, скорее всего, решат задачу), что можно настроить по крону, а в уникальности и не пересечении ключевого поля. Я сейчас стараюсь везде применять uuid вместо int, что позволяет в будущем делать такие вещи.
накой вам uuid этот?
PK = два поля: id, id филиала.
...
Рейтинг: 0 / 0
Репликация/выгрузка данных из нескольких БД по правилу
    #38504208
zyke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan Durak,
можно и два поля PK = два поля: id, id филиала. Но с uuid не нужно помнить какой филиал следующий.

А в целом как на ваш взгляд предложенной решение с pgAgent'ом?
...
Рейтинг: 0 / 0
Репликация/выгрузка данных из нескольких БД по правилу
    #38504540
Stan_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan DurakStan_1Могу ошибиться, но в этой задаче основная проблема не в копировании (pgdump/pgrestore, скорее всего, решат задачу), что можно настроить по крону, а в уникальности и не пересечении ключевого поля. Я сейчас стараюсь везде применять uuid вместо int, что позволяет в будущем делать такие вещи.
накой вам uuid этот?
PK = два поля: id, id филиала.

Согласен с zyke. Если можно проблему уникальности и дурокаустойчивости перевести на инструментальное средство - всегда стараюсь это делать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Репликация/выгрузка данных из нескольких БД по правилу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]