O comando LISTEN registra a sessão corrente como ouvinte da condição de notificação nome. Se a sessão corrente já estiver registrada como ouvinte desta condição de notificação, não será feito nada.
Sempre que o comando NOTIFY nome é executado, tanto por esta sessão quanto por outra conectada ao mesmo banco de dados, todas as sessões ouvindo esta condição de notificação no momento são notificadas, e cada uma por sua vez notifica seu aplicativo cliente conectado. Para obter informações adicionais deve ser consultada a documentação do comando NOTIFY.
A sessão pode cancelar o registro para uma determinada condição de notificação utilizando o comando UNLISTEN. Os registros da sessão como ouvinte são automaticamente removidos quando a sessão termina.
O método que o aplicativo cliente deve utilizar para detectar eventos de notificação depende da interface de programação de aplicativos (API) do PostgreSQL que o aplicativo usa. Quando usa a biblioteca libpq o aplicativo executa o comando LISTEN como um comando SQL comum e, depois, deverá chamar periodicamente a função PQnotifies para descobrir se foi recebido algum evento de notificação. Outras interfaces, como a libpgtcl, fornecem métodos de nível mais alto para tratar os eventos de notificação; na verdade, quando a libpgtcl é usada o programador do aplicativo não deve nem mesmo executar o comando LISTEN ou UNLISTEN diretamente. Para obter mais detalhes deve ser consultada a documentação da interface sendo utilizada.
O comando NOTIFY contém uma explicação mais extensa sobre a utilização do comando LISTEN e do comando NOTIFY.