pgbouncer_asyncpg
Installation
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.
Related skills
More from davidcastagnetoa/skills
traefik
Reverse proxy moderno con autodiscovery nativo en Kubernetes y Let's Encrypt
66easyocr
OCR alternativo a PaddleOCR, excelente en caracteres especiales y múltiples scripts
33prisma-nestjs-patterns
>
26c4_model_structurizr
Diagramas de arquitectura C4 como código con Structurizr DSL, versionados en Git
23exif_metadata_analyzer
Analizar metadatos EXIF para detectar edición previa con Photoshop, GIMP u otros editores
19asyncpg
Cliente PostgreSQL async de alto rendimiento para el backend FastAPI del pipeline KYC
14