What should I expect when creating many logical replication slots?

Поиск
Список
Период
Сортировка
От Antonin Bas
Тема What should I expect when creating many logical replication slots?
Дата
Msg-id CAAkB0aDof-atNom4qO_RGefgPDib3ukEzX1B9Tva11nusWMriA@mail.gmail.com
обсуждение исходный текст
Ответы Re: What should I expect when creating many logical replication slots?
Список pgsql-general
Hi all,

I have a use case for which I am considering using Postgres Logical Replication, but I would like to scale up to 100 or even 200 replication slots.

I have increased max_wal_senders and max_replication_slots to 100 (also making sure that max_connections is large enough). Things seem to be working pretty well so far based on some PoC code I have written. Postgres is creating a walsender process for each replication slot, as expected, and the memory footprint of each one is around 4MB.

So I am quite happy with the way things are working, but I am a bit uneasy about increasing these configuration values by 10-20x compared to their defaults (both max_wal_senders and max_replication_slots default to 10).

Is there anything I should be looking out for specifically? Is it considered an anti-pattern to use that many replication slots and walsender processes? And, when my database comes under heavy write load, will walsender processes start consuming a large amount of CPU / memory (I recognize that this is a vague question, I am still working on some empirical testing).

Finally, I am currently using Postgres 14. Should I consider upgrading to Postgres 15 or 16 based on my use case?

Thanks in advance for any insight on this.

Antonin

В списке pgsql-general по дате отправления:

Предыдущее
От: Jim Nasby
Дата:
Сообщение: Re: Refresh Materialized View Issue
Следующее
От: Jim Nasby
Дата:
Сообщение: Re: Time zone offset in to_char()