How to detect saturation before the user notices it (Odoo + PgBouncer + PostgreSQL) The difference between "it got slow" and "it was an incident" is when you find out . If you wait for the user to complain, you're already late. The good news: in a stack Odoo → PgBouncer → PostgreSQL ...
PgBouncer logs that matter (and how to read them without going crazy) PgBouncer can “talk” a lot… or just enough. In production, what you want is: to know who is connecting and from where , to detect queue / pool saturation , to see real errors (auth, TLS, backend down)...
Key metrics you should watch (Odoo + PgBouncer + PostgreSQL) If your stack is Odoo → PgBouncer → PostgreSQL , the metrics that “matter” are not 200 graphs: they are a small set that tells you if you are limited by pool, by DB, by crons, or by host resources . O...
SHOW POOLS; explained (PgBouncer) — the command that tells you the truth about the queue If you use PgBouncer in front of PostgreSQL (and even more so if you use Odoo), SHOW POOLS; is the command that answers you in 10 seconds: is there a queue? how many real connections are occupied? am I limited by p...
Impact of cron jobs and long transactions (Odoo + PgBouncer): why they "break" your concurrency There are two things that can cause an apparently "well-sized" Odoo to suddenly become slow: Cron jobs running in parallel (and touching many rows) Long transactions (long transactions) that keep the ...
Relationship between Odoo workers and PgBouncer When Odoo "slows down" under load, it is almost never a "mystery": it is usually poorly sized concurrency between: Odoo Workers (how many requests you can handle in parallel) Client connections to PgB...
How to calculate default_pool_size default_pool_size is one of those parameters that, if you set it "by eye", might work… until the day the load increases and it blows up: Postgres saturated (if you overdo it) or queues in PgBouncer (i...
Debugging auth in PgBouncer When something fails in Odoo → PgBouncer → PostgreSQL , auth errors often seem “mysterious”… until you break the problem into two hops: Client (Odoo/psql) → PgBouncer (incoming auth ) PgBouncer → Post...
TLS between Odoo and PgBouncer: when it is worth it (and how to do it right) When you put PgBouncer between Odoo and PostgreSQL, you gain performance and control… but you also add another network hop . The right question is not “Can I enable TLS?”, but: Does it provide real se...
Typical errors (no such user, auth failed) Typical errors in PgBouncer (Odoo): “no such user”, “auth failed” and how to resolve them quickly When something fails between Odoo → PgBouncer → PostgreSQL , one of these messages almost always appea...
auth_type = scram-sha-256 in PgBouncer, step by step (Odoo + PostgreSQL) If you want a stack modern and defendable , this is the way: PostgreSQL with SCRAM passwords + PgBouncer authenticating clients with SCRAM . It is more secure than md5 (also, MD5 is deprecated in Post...