davidcastagnetoa/skills

postgresql_sqlalchemy_async

ORM async moderno para persistencia de sesiones de auditoría, logs y listas negras

First seen Mar 6, 2026

Installation

$ npx skills add davidcastagnetoa/skills --skill postgresql_sqlalchemy_async

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from davidcastagnetoa/skills · top by installs.

npx skills add davidcastagnetoa/skills

Browse all from davidcastagnetoa/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,095 B
  • docs SUMMARY.md 118 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

SKILL.md

postgresqlsqlalchemyasync

SQLAlchemy 2.0 en modo async es el ORM principal para todas las operaciones de base de datos. Se integra nativamente con FastAPI y asyncio, garantizando que las escrituras de auditoría no bloquean el pipeline KYC.

When to use

Usar para todas las operaciones CRUD sobre PostgreSQL: insertar sesiones de auditoría, consultar listas negras, registrar decisiones, gestionar la cola de revisión manual.

Instructions

  1. Instalar: pip install sqlalchemy[asyncio] asyncpg alembic
  2. Configurar engine async en backend/db/engine.py:

``python from sqlalchemy.ext.asyncio import createasyncengine, AsyncSession from sqlalchemy.orm import sessionmaker engine = createasyncengine("postgresql+asyncpg://user:pass@pgbouncer:5432/kyc", poolsize=20) AsyncSessionLocal = sessionmaker(engine, class=AsyncSession, expireoncommit=False) ``

  1. Definir modelos en backend/db/models/:

- AuditSession: sessionid, useridhash, decision, globalscore, agentscores (JSONB), integrityhash, createdat. - BlacklistedDocument: docnumberhash, doctype, country, reason, createdat. - ManualReviewQueue: sessionid, reason, status, assignedto, createdat.

  1. Inyectar sesión DB en FastAPI via dependency: async with AsyncSessionLocal() as session.
  2. Usar session.add() + await session.commit() — nunca commits síncronos.
  3. Gestionar migraciones con Alembic: alembic upgrade head en el init del contenedor.
  4. Conectar siempre a través de PgBouncer (puerto 5432) — nunca directo al puerto 5433 de PostgreSQL.

Notes

  • expireoncommit=False es obligatorio en async para evitar lazy loading tras el commit.
  • Los INSERTs de auditoría deben ser fire-and-forget: usar asyncio.create_task() para no bloquear la respuesta al cliente.
  • Nunca almacenar embeddings faciales en PostgreSQL — usar MinIO con TTL corto.