Back to browse
GitHub Repository
1 starsPython

Pgnudge – tell your app which Postgres tables just changed

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

AI Analysis

●●●BangerBig BrainSolve My Problem

WAL-based table change notifications without triggers, slots, or server-side installs.

Strengths
  • Hand-rolled walsender client speaks replication protocol directly, zero database driver needed
  • Temporary replication slot auto-dropped on disconnect leaves no server-side artifacts
  • Client-side debouncing coalesces 500-row transactions into single wakeup events
Weaknesses
  • PostgreSQL 16+ requirement excludes many production environments still on older versions
  • Only notifies which tables changed; row-level change data requires separate fetch
Target Audience

Backend developers, database engineers

Similar To

Debezium · Postgres LISTEN/NOTIFY · Hasura Event Triggers

Post Description

Hello HN!

I found my self always doing some kind of polling loop for my applications when i want to watch data as it comes in, however i find striking the balance between aggressive polling and the responsiveness tricky.

So i wrote (with help from claude) pgnudg. pgnudge is a small async Python library that wakes your app when specific Postgres tables change. It only tells you which tables moved. You refetch, and the database stays the source of truth.It reads the WAL over the replication protocol and turns commits into per-table wakeup

I am more than willing to acknowledge that this is properly overkill, but I found it interesting, and maybe some else might as well?

Similar Projects