http://www.postgresql.org/docs/9.1/static/sql-listen.html http://www.postgresql.org/docs/9.1/static/sql-notify.html
http://www.postgresql.org/docs/9.1/static/sql-listen.html http://www.postgresql.org/docs/9.1/static/sql-notify.html
listen and notify go back to at least 6.4 which came out 1998 ish http://www.postgresql.org/docs/6.4/static/sql-listen.html http://www.postgresql.org/docs/6.4/static/sql-notify.html
What might have changed is the implementation though. I seem to remember that some point in the past I was investigating listen/notify and the driver (libpq) was forcing you to handle LISTEN by polling (calling PQnotifies periodically) which doesn't really help compared to polling on your own.
This has not changed so far:
http://www.postgresql.org/docs/9.1/static/sql-listen.htm
states
> With the libpq library, the application issues LISTEN as an ordinary SQL command, and then must periodically call the function PQnotifies to find out whether any notification events have been received.
It might be possible for drivers working without libpq by talking the postgres protocol directly on the wire to get real asynchronous behavior, though I don't know anything about how this is being handled on the server right now (it might still be polling internally on the server end).
http://www.postgresql.org/docs/7.1/static/libpq-notify.html
What has happened recently though is that more language bindings to libpq have started exposing the NOTIFY functionality in more convenient ways.
* the LISTEN/NOTIFY asynchronous notification mechanism now work
Without knowing much about how it works - why would I want to use this system rather than just ZMQ/RMQ/...?
A recent addition to NOTIFY is the ability for notifies to carry payloads (which makes them even more useful)