How to use with pgbouncer?
They are somewhat orthogonal, and also dependent upon what kind of pooling you use in pgbouncer (session, txn or statement). Peewee's pooled variants will maintain open connections to postgres so doubling-up and using `PooledPostgresqlDatabase` + pgbouncer is probably unnecessary. It also kinda depends on what latency you anticipate with opening the connection (whether to pg itself or to your pgbouncer). There "right" answer is: it depends.

If you use pgbouncer, though, a good starting place is just to use `PostgresqlDatabase` and point it at pgbouncer.

If you want to let peewee handle a connection pool, use the Pooled- variants.
Could someone, please, make clear, how to use peewee with pgbouncer?
Am I supposed to use `PooledPostgresqlExtDatabase` or it's overkill and just `PostgresqlExtDatabase` will be fine? Connection string will point to pgbouncer.