pgbouncer_asyncpg
SKILL.md
pgbouncer_asyncpg
PgBouncer en modo transaction pooling reduce el coste de conexiones PostgreSQL de ~10ms a <0.1ms. asyncpg es el cliente async de PostgreSQL más rápido para Python.
When to use
Usar para todas las operaciones de base de datos del sistema. Nunca conectar directamente a PostgreSQL desde los servicios.
Instructions
- Instalar asyncpg:
pip install asyncpg. - Instalar PgBouncer: disponible en
apt install pgbouncero imagen Docker. - Configurar PgBouncer en modo transaction pooling (
pool_mode = transaction). - Configurar pool size:
max_client_conn = 1000,default_pool_size = 20. - Crear pool de conexiones en FastAPI startup:
pool = await asyncpg.create_pool(dsn=PGBOUNCER_DSN, min_size=5, max_size=20) - Usar el pool en cada operación:
async with pool.acquire() as conn: await conn.fetch(query). - Health check: verificar que PgBouncer responde y tiene conexiones disponibles.
Notes
- PgBouncer NO soporta prepared statements en transaction mode; usar
$1, $2placeholders nativos. - Patroni gestiona el failover primary/replica de PostgreSQL.
- Alembic para migraciones:
pip install alembic.
Weekly Installs
1
Repository
davidcastagnetoa/skillsFirst Seen
10 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1