Back to browse
GitHub Repository
1 starsPython

Pgnudge - tell your app which Postgres tables just changed

by jeeybee·Jul 12, 2026·1 point·0 comments

AI Analysis

●●●BangerWizardryBig Brain

Speaks native WAL protocol with zero database triggers or persistent slots.

Strengths
  • Hand-rolled walsender client avoids heavy database driver dependencies entirely.
  • Temporary replication slots auto-drop on disconnect, leaving no server footprint.
  • Coalesces thousands of row changes into single 'reload this table' wakeups.
Weaknesses
  • Python-only implementation excludes Go or Rust services needing similar wakeups.
  • At-least-once delivery model requires idempotent refetch logic in consumer apps.
Target Audience

Backend engineers building live read models or cache invalidation

Similar To

Debezium · Postgres LISTEN/NOTIFY · Hasura Event Triggers

Post Description

Genuinely unsure if this is crazy or cool: looking for feedback.

pgnudge is a small async Python library that tells you which tables just changed in Postgres, so a cache or read model can refetch the moment the data moves. No row data - it tells you when and what to reload, you already know how to load it.

It leaves nothing persistent on the server (temp replication slot, dropped when the session ends) and needs no database driver — it speaks the walsender protocol itself. One dependency.

Not CDC (no before/after rows), not a queue (no durability). It moves wakefulness, not rows or work.

Repo: https://github.com/janbjorge/pgnudge

Similar Projects