The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (PostgreSQL)
Режим отображения только ответов первого уровня [ Отслеживать ]

Оглавление

Синхронизация содержимого таблицы для PostgreSQL 9.1, xintrea (ok), 04-Мрт-20, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


1. "Синхронизация содержимого таблицы для PostgreSQL 9.1"  +/
Сообщение от Аноним (1), 04-Мрт-20, 18:44 
> Сейчас я раздумываю, с помощью каких инструментов проще всего решить эту задачу.

Проще (и надежнее) - штатными средствами постгреса. Но будет только православный master-slave.

Вы ТОЧНО хотите master-master?
Ооно вам ДЕЙСТВИТЕЛЬНО надо?
Тогда - только на уровне логической репликации. И неважно, сами вы напишете скрипты синхронизации или воспользуетесь каким-то готовым решением (да, их есть, нет, я их на память не помню, но гугль знает все) - это в любом случае будет уродство из говна и палок, криво работающее и то и дело падающее.

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

5. "Синхронизация содержимого таблицы для PostgreSQL 9.1"  +/
Сообщение от odmin (??), 05-Мрт-20, 04:38 

>[оверквотинг удален]
> Скорость репликации не важна. Достаточно, если синхронизация будет происходить периодически.
> В минуту каждый хост может добавить в таблицу от 0 до
> ~1000 новых записей. В любой момент сеть может «развалиться» и хосты
> не смогут видеть друг друга, при этом новые записи будут создаваться.
> После восстановления сети все новые записи должны засинхронизироваться на всех хостах.
> Не факт, что все хосты будут работать одновременно. Может 4 хоста работать,
> а 1 быть выключен. После его включения он должен принять все
> данные, которые «пропустил» когда был выключен. Может быть и наоборот: работает
> только 1 хост, остальные выключены. После включения остальных хостов, данные с
> первого хоста должны перетечь на все остальные.

с вашими устаревшими версиями - вам нужно менять структуру приложения, по простому будут две базы, одна postgres на чтение и синхронизируется она стандартными средствами репликации stream master slave + wal (в 9.1 это должно быть),
вторая база это sqlite локальный кеш на запись.
далее понятно, дополнительно отдельный процесс на синхронизацию локальных данных в глобальную базу, назад они вернутся через репликацию.

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

33. "Синхронизация содержимого таблицы для PostgreSQL 9.1"  +/
Сообщение от Мимикус Пипикус Онанимус (?), 08-Мрт-20, 10:18 
>[оверквотинг удален]
> Сейчас я раздумываю, с помощью каких инструментов проще всего решить эту задачу.
> Насколько я понял, средства репликации, существующие для PostgreSQL 9.1 (тот же
> slony), умеют делать только master-slave репликацию, да и работа такой репликации
> в условиях нестабильной сети под большим вопросом.
> Мне нужно что-то более простое, типа pt-table-sync от Percona, только не для
> MySQL, а для PostgreSQL. И чтобы оно работало на древних линухах.
> Перед тем, как я начну писать решение на коленке, я хочу попробовать
> решить задачу уже готовыми инструментами. Кто что может предложить? Да, сменить
> дистрибутив не получится, ибо при аттестации/сертификации/лицензиации средства стандартного
> программного обеспечения зафиксированы

Обновиться хотя-бы до 10.x и использовать логическую репликацию таблиц. Работает само и на автомате, правда только в одну сторону. Конфликты изменений в основной таблице и в реплике разруливать вручную. 9.x логическую репликацию не умеет.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру