Attached is a version of a previously posted patch which has been modified based on on-list feedback from Álvaro.
This is a generalized trigger function which can be used as an AFTER EACH ROW trigger on any table which has a primary key, and will send notifications of operations for which the trigger is attached, with a payload indicating the table, the operation, and the primary key. A channel can be specified in the CREATE TRIGGER command, but will default to "tcn" if omitted.
I had previously submitted this as a core function, but with a mature extensions feature now present, I reworked it as a contrib extension. If not accepted into contrib, I can post it to PGXN, but I thought it seemed a reasonable candidate for contrib.
I took a shot at creating docs similar to other contrib extensions, but couldn't quite figure out how to get them to build. If someone can give me pointers on that, I'll polish that up. I find it hard to work on the docs in sgml without being able to build and review the html output.