PgQue 0.1 – Cola para Postgres sin sobredimensionamiento
Se ha publicado la versión 0.1 de PgQue.
PgQue es una cola de eventos y mensajes para Postgres, implementada exclusivamente en SQL y PL/pgSQL, que elimina los problemas de sobredimensionamiento innecesario de datos. Lleva la arquitectura PgQ, creada originalmente en Skype, a entornos modernos de Postgres, incluso a plataformas gestionadas donde PgQ no está disponible como extensión soportada.
En lugar de usar SKIP LOCKED junto con operaciones intensivas de DELETE o UPDATE, PgQue emplea lotes basados en instantáneas y rotación de tablas. Esto ayuda a evitar problemas como tuplas muertas, sobrecarga de VACUUM, sobredimensionamiento de índices y degradación del rendimiento bajo cargas prolongadas.
Características principales:
- Instalación en SQL puro / PL/pgSQL: un solo archivo SQL, sin extensiones en C
- Compatible con PostgreSQL versiones 14 a 18
- Diseñado para Postgres gestionado: RDS, Aurora, Cloud SQL, AlloyDB, Supabase, Neon y plataformas similares
- Sin sobredimensionamiento en la ruta principal de la cola, por diseño
- Permite múltiples consumidores independientes sobre un mismo registro de eventos
- Manejo de reintentos y soporte para colas de mensajes fallidos (dead-letter queue)
- Integración opcional con pg_cron para ejecución programada (recomendada), o mediante un planificador externo
PgQue está optimizado para flujos de eventos persistentes y colas de mensajería dentro de Postgres, donde la estabilidad bajo carga continua es prioritaria frente a latencias de despacho en el rango de milisegundos de un solo dígito. El diseño por defecto suele ofrecer entregas en el rango de 1–2 segundos, manteniendo ligeras las invocaciones a funciones SQL.
Repositorio y documentación:
https://github.com/NikolayS/pgque
Discusión en Hacker News:
https://news.ycombinator.com/item?id=47817349

