Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wJ5of-0004TA-2V for pgsql-announce@arkaria.postgresql.org; Sat, 02 May 2026 08:35:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wJ5nf-000uN1-0V for pgsql-announce@arkaria.postgresql.org; Sat, 02 May 2026 08:34:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wJ5ne-000uMg-1E for pgsql-announce@lists.postgresql.org; Sat, 02 May 2026 08:34:10 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wJ5na-000000005J0-1rAL for pgsql-announce@lists.postgresql.org; Sat, 02 May 2026 08:34:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=mrHvLha7oX9NjOUPKP+goCmcUfDE2ZwoFEX6DMzP1O8=; b=hZnu+GLhdiDYqFp3BQ9NeUZZod vKI69RNRm/mAonld33hVTHE+RLqVpkEeQRSmVWvP0NG6VJMYQfmhVetqxtzkCI/Hx7Ghgqm74qkls XjDTbKa10TNOKdPcpS6iXVfbaFHSNnPI+c7OVQU17XENd/xilLPhqfJEmAO5toc8jJf+woc+rZOX1 8qema/1BDb25OX9l+lQoYn9LrAAcECub9u1EwFe3O+ZvXA6JgPfj3blbTpm33eZtCnokpw6Ob66KE fSyOk0nH5B+VtUYAoxsBUcw/Qd0zaQRqn5LuTpWgfw3YeLOmFi+m35iSCO9Jrof2ITCPsQ3DvuC6x yuv2Fp3A==; Received: from wrigleys.postgresql.org ([217.196.149.60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wJ5nY-0005iB-33 for pgsql-announce@lists.postgresql.org; Sat, 02 May 2026 08:34:05 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wJ5nW-000NzD-1X for pgsql-announce@lists.postgresql.org; Sat, 02 May 2026 08:34:02 +0000 Content-Type: multipart/alternative; boundary="===============7185050744362262536==" MIME-Version: 1.0 Subject: PgQue v0.1 - Zero-bloat Postgres queue To: PostgreSQL Announce From: PostgresAI via PostgreSQL Announce Reply-To: nik@postgres.ai Date: Sat, 02 May 2026 08:33:06 +0000 Message-ID: <177771078649.801.16311894241270361703@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: ea2296bbf69d2498ab7249129f64e4c81dffc6bb55ecc8bf66fff82ce9709175 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============7185050744362262536== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable PgQue v0.1 has been released. PgQue is a zero-bloat Postgres event/message queue implemented in pure SQL = and PL/pgSQL. It brings the PgQ architecture, originally developed at Skype= , to modern Postgres environments, including managed Postgres platforms whe= re PgQ is not included in the list of supported extensions. PgQue uses snapshot-based batching and table rotation instead of SKIP LOCKE= D plus DELETE/UPDATE hot paths. This avoids the dead tuples, VACUUM pressur= e, index bloat, and performance drift that many in-database queues hit unde= r sustained load. Highlights: - Pure SQL / PL/pgSQL install: one SQL file, no C extension - Works on PostgreSQL 14-18 - Designed for managed Postgres: RDS, Aurora, Cloud SQL, AlloyDB, Supabase,= Neon, and similar platforms - Zero bloat in the main queue path by design - Multiple independent consumers over a shared event log - Built-in retry handling and dead-letter queue support - Optional pg_cron integration for ticking (recommended), or use an externa= l scheduler PgQue is best suited for durable event streams and message queues inside Po= stgres where stability under sustained load matters more than single-digit-= millisecond dispatch latency. The default design typically delivers events = in the 1-2 second range, while the SQL function calls themselves remain lig= htweight. Repository and documentation: Discussion on Hacker News: --===============7185050744362262536== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable PgQue v0.1 - Zero-bloat Postgres queue
 

PgQue v0.1 - Zero-bloat Postgres queue

PgQue v0.1 has been released.

PgQue is a zero-bloat Postgres event/messag= e queue implemented in pure SQL and PL/pgSQL. It brings the PgQ architectur= e, originally developed at Skype, to modern Postgres environments, includin= g managed Postgres platforms where PgQ is not included in the list of suppo= rted extensions.

PgQue uses snapshot-based batching and tabl= e rotation instead of SKIP LOCKED plus DELETE/UPDATE hot paths. This avoids= the dead tuples, VACUUM pressure, index bloat, and performance drift that = many in-database queues hit under sustained load.

Highlights:

  • Pure SQL / PL/p= gSQL install: one SQL file, no C extension
  • Works on Postgr= eSQL 14-18
  • Designed for ma= naged Postgres: RDS, Aurora, Cloud SQL, AlloyDB, Supabase, Neon, and simila= r platforms
  • Zero bloat in t= he main queue path by design
  • Multiple indepe= ndent consumers over a shared event log
  • Built-in retry = handling and dead-letter queue support
  • Optional pg_cro= n integration for ticking (recommended), or use an external scheduler

PgQue is best suited for durable event stre= ams and message queues inside Postgres where stability under sustained load= matters more than single-digit-millisecond dispatch latency. The default d= esign typically delivers events in the 1-2 second range, while the SQL func= tion calls themselves remain lightweight.

Repository and documentation:

https://github.com/= NikolayS/pgque

Discussion on Hacker News:

https= ://news.ycombinator.com/item?id=3D47817349

This email was sent to you from PostgresAI. It was delivered on their behal= f by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to PostgresAI.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============7185050744362262536==--