Telegram Group & Telegram Channel
Мини-гайд по трём ключевым сущностям PostgreSQL: соединения, буфер и WAL

1. Соединения (Connections)
PostgreSQL по умолчанию позволяет одновременно до 100 соединений (max_connections).

🔹 Проблема: слишком много прямых соединений создают нагрузку на память и CPU.
🔹 Решение: используйте пуллинг через PgBouncer или Pgpool-II.


[databases]
mydb = host=127.0.0.1 port=5432 dbname=mydb

[pgbouncer]
listen_addr = 0.0.0.0
listen_port = 6432
pool_mode = transaction
max_client_conn = 500
default_pool_size = 20

🔹 Совет: на проде стремитесь держать max_connections < 200 и масштабируйте через пуллер.


2. Буфер (Shared Buffers & Work Mem)
PostgreSQL активно использует память для кэширования страниц и сортировок.

🔹 shared_buffers – основной буфер кэша:


shared_buffers = 4GB # ≈25% от RAM на выделенном сервере

🔹 work_mem – память на сортировку/слияние одного потока:


work_mem = 64MB # для сложных запросов с сортировками и хэш-джоинами
maintenance_work_mem = 512MB # для VACUUM/CREATE INDEX

🔹 Best practice:

🔹 Установите shared_buffers ≈ 25% RAM.
🔹 Настройте work_mem исходя из числа параллельных операций, не превышайте общий объём памяти.



3. WAL (Write-Ahead Log)
WAL обеспечивает надёжность и репликацию.

🔹 wal_level – детальность логирования:


wal_level = replica # для потоковой репликации

🔹 checkpoint_timeout и max_wal_size:


checkpoint_timeout = 10min
max_wal_size = 1GB

🔹 Архивация WAL для резервных копий:


archive_mode = on
archive_command = 'cp %p /mnt/backup/wal/%f'

🔹 Рекомендации:

🔹 Увеличьте max_wal_size, если у вас большие всплески нагрузки.
🔹 Настройте сжатие WAL (pg_wal) для экономии места.



💡 Сохрани, чтобы не забыть!
А как вы оптимизируете соединения, буфер и WAL в своих проектах?

#db

👉 @database_info



tg-me.com/database_info/1479
Create:
Last Update:

Мини-гайд по трём ключевым сущностям PostgreSQL: соединения, буфер и WAL

1. Соединения (Connections)
PostgreSQL по умолчанию позволяет одновременно до 100 соединений (max_connections).

🔹 Проблема: слишком много прямых соединений создают нагрузку на память и CPU.
🔹 Решение: используйте пуллинг через PgBouncer или Pgpool-II.


[databases]
mydb = host=127.0.0.1 port=5432 dbname=mydb

[pgbouncer]
listen_addr = 0.0.0.0
listen_port = 6432
pool_mode = transaction
max_client_conn = 500
default_pool_size = 20

🔹 Совет: на проде стремитесь держать max_connections < 200 и масштабируйте через пуллер.


2. Буфер (Shared Buffers & Work Mem)
PostgreSQL активно использует память для кэширования страниц и сортировок.

🔹 shared_buffers – основной буфер кэша:


shared_buffers = 4GB # ≈25% от RAM на выделенном сервере

🔹 work_mem – память на сортировку/слияние одного потока:


work_mem = 64MB # для сложных запросов с сортировками и хэш-джоинами
maintenance_work_mem = 512MB # для VACUUM/CREATE INDEX

🔹 Best practice:

🔹 Установите shared_buffers ≈ 25% RAM.
🔹 Настройте work_mem исходя из числа параллельных операций, не превышайте общий объём памяти.



3. WAL (Write-Ahead Log)
WAL обеспечивает надёжность и репликацию.

🔹 wal_level – детальность логирования:


wal_level = replica # для потоковой репликации

🔹 checkpoint_timeout и max_wal_size:


checkpoint_timeout = 10min
max_wal_size = 1GB

🔹 Архивация WAL для резервных копий:


archive_mode = on
archive_command = 'cp %p /mnt/backup/wal/%f'

🔹 Рекомендации:

🔹 Увеличьте max_wal_size, если у вас большие всплески нагрузки.
🔹 Настройте сжатие WAL (pg_wal) для экономии места.



💡 Сохрани, чтобы не забыть!
А как вы оптимизируете соединения, буфер и WAL в своих проектах?

#db

👉 @database_info

BY Базы данных (Data Base)




Share with your friend now:
tg-me.com/database_info/1479

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

That strategy is the acquisition of a value-priced company by a growth company. Using the growth company's higher-priced stock for the acquisition can produce outsized revenue and earnings growth. Even better is the use of cash, particularly in a growth period when financial aggressiveness is accepted and even positively viewed.he key public rationale behind this strategy is synergy - the 1+1=3 view. In many cases, synergy does occur and is valuable. However, in other cases, particularly as the strategy gains popularity, it doesn't. Joining two different organizations, workforces and cultures is a challenge. Simply putting two separate organizations together necessarily creates disruptions and conflicts that can undermine both operations.

telegram from us


Telegram Базы данных (Data Base)
FROM USA