Нє, hosted.
Тоді прийдеться створювати свій неповторний лісапед :)
- якщо "майстер" відпав, репліку можна використовувати як read/write автоматично?
Ні pg_promote ( wait boolean DEFAULT true, wait_seconds integer DEFAULT 60 ) → boolean Promotes a standby server to primary status. With wait set to true (the default), the function waits until promotion is completed or wait_seconds seconds have passed, and returns true if promotion is successful and false otherwise. If wait is set to false, the function returns true immediately after sending a SIGUSR1 signal to the postmaster to trigger promotion.
- що відбудеться, коли старий "майстер" підніметься? Він стане реплікою чи буде якийсь конфлікт та боротьба за статус?
Нічого не відбудеться: мастер підніметься і продовжить працювати далі, а репліка з нього асинхронно сінкатися якщо не була вручну переключена в режим мастера. Але якщо на реплиці виконати SELECT pg_promote() - вона забуде про свого мастера та сама стане ним. Далі до цього нового мастера можна буде додати свої репліки. Старі на нього переключити не вийде.
- як керувати клієнтськими запитами? ну типу як визначати, хто зараз майстер тощо
Proxy або load balancer з підтримкою PostgreSQL ліпити перед мастером та
репліками PostgreSQL.
https://www.pgpool.net/mediawiki/index.php/Main_Page
--
Best regards,
Mykola
On Mon, Mar 11, 2024 at 12:06 PM Volodymyr Litovka
Нє, hosted.
Дякую
On 3/11/24 11:05, Mykola Ulianytskyi wrote:
Привіт
Якщо інфраструктура в Амазоні - в Amazon RDS for PostgreSQL ці всі фічі реалізовані, але цей сервіс недешевий.
https://aws.amazon.com/rds/features/ https://aws.amazon.com/rds/postgresql/
У постгреса, наскільки я переглянув документацію, реплікація спрощена - майстер заливає на репліку дані й *або* не чекає на підтвердження (async), *або* чекає (sync). Питання: - якщо "майстер" відпав, репліку можна використовувати як read/write автоматично? - що відбудеться, коли старий "майстер" підніметься? Він стане реплікою чи буде якийсь конфлікт та боротьба за статус? - як керувати клієнтськими запитами? ну типу як визначати, хто зараз майстер тощо
-- Best regards, Mykola
On Mon, Mar 11, 2024 at 11:55 AM Taras Heichenko
wrote: 10.03.2024 23:30, Volodymyr Litovka:
On 3/10/24 21:02, Maksym Tulyuk wrote:
При цьому головне перевірити, що станеться з HA, якщо хтось зробить ALTER TABLE ;) це well known issue, до нього треба готуватись разом з DBA та розробниками аплікух :)
9 років назад ця команда на HA/Mysql викликала Global Lock на "усьо", аплікухи продовжували робити INSERT тобто аплікухи ігнорували результати попереднього insert та херачили далі наступні стейтменти? Ну таке.... ;-)
Добре, якщо ти можеш зупинити процес і почекати, поки розберуться. А якщо у тебе іде потік даних, який треба ловити, то одна помилка не повинна приводити до зупинки всієї системи. Ну тобто так, залежить від помилки, але DB вміє багато різних помилок, і всі не перебереш. Тобто цілком можу зрозуміти авторів софта, які вийшли з міркувань, що "ну помилка, а що робити?". Ну тобто треба повідомлення про помилку розіслати всім, але намагатись писати далі.
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
_______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
-- tasic@
_______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
_______________________________________________ uanog mailing listuanog@uanog.kiev.uahttps://mailman.uanog.kiev.ua/mailman/listinfo/uanog
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
_______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog