AI Briefing
KO

Honker - An extension that adds Postgres NOTIFY/LISTEN semantics to SQLite

·2026.04.25 04:44

Key point

An extension has been released that provides Postgres-style NOTIFY/LISTEN and a durable queue for SQLite.

Details

A SQLite loadable extension called Honker has been released. It handles durable pub/sub, job queues, and event streams within the same .db file, allowing asynchronous processing to be bundled without client polling or a separate daemon/broker.

All core operations are recorded inside transactions. notify(), stream(), and queue() commit or roll back together with business writes, reducing the dual-write problem.

  • Cross-process wakeups are implemented by checking PRAGMA data_version every 1ms.
  • The queue supports retry, priority, delayed execution, dead-letter, scheduler, named lock, and rate limiting.
  • Streams store per-consumer offsets to provide at-least-once delivery.
  • Optional result storage is also supported, such as wait_result(), which waits for the result of enqueue.

Bindings are provided for Python, Node, Bun, Ruby, Go, Elixir, and C++ on top of a Rust-based on-disk layout. Integration guides for SQLAlchemy, Django, Drizzle, Kysely, sqlx, GORM, ActiveRecord, and Ecto are also included so it works within connections owned by an ORM.

However, the API is still in an Experimental state. Also, task pipelines, multi-writer replication, and DAG workflow orchestration were intentionally excluded. It's useful for applications using SQLite as their primary storage, but for those already running Postgres, pg_notify, pg-boss, or Oban are stated to be more suitable.

This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.

Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.