--- /dev/null
+#!/usr/bin/perl
+use warnings;
+use strict;
+use autodie;
+
+use DBI;
+use IO::Select;
+use Data::Dump qw(dump);
+
+my $dbh = DBI->connect("dbi:Pg:dbname=zc","dpavlin","", { RaiseError => 1, AutoCommit => 1 });
+
+$dbh->do("LISTEN zc");
+
+my $fd = $dbh->func("getfd");
+my $sel = IO::Select->new($fd);
+
+
+while (1) {
+ print "waiting...\n";
+ $sel->can_read;
+ my $notify = $dbh->func("pg_notifies");
+ if ($notify) {
+ warn "# notify = ",dump($notify);
+ my ($relname, $pid, $payload) = @$notify;
+ print "$relname from PID $pid\n";
+ }
+}
+