Super fast and lightweight. Written in C using libpq.
pg_listen postgres://db-uri channel [/path/to/program] [args]
# for example, to note when NOTIFY happened on "hello" channel
# pg_listen postgres://localhost/postgres hello /bin/echo they said hi
# print payload from the channel
# (default action when no command is specified)
# pg_listen postgres://localhost/postgres funNote that pg_listen line-buffers its output, so the payload raised by NOTIFY needs to include a final newline ("\n"). The program won't output anything until a newline is encountered.
-- incorrect
NOTIFY foo, 'hi';
-- correct
NOTIFY foo, E'hi\n';For Supabase/KPS on Ubuntu use make kps
For everything else use:
Just clone the repo and run make. The makefile is compatible with BSD and GNU
Make and requires only that libpq be installed on the system.
If you use NixOS you can run nix-shell to build it.
If you installed PostgreSQL on Mac using homebrew or Macports, note that
pkg-config is not installed by default and needs to be installed by running
brew install pkg-config prior to running make. Additionally you may need to
update $PKG_CONFIG_PATH and add the directory containing libpq.pc for your
system.