O problema aqui é que o PostgreSQL ainda não foi reconhecido pelo Upstart. Isso complica as coisas. Você poderia apenas verificar a existência de um arquivo PID para sua versão / cluster, mas o que você faria se não estivesse lá?
Eu escolhi ligar o início do meu serviço (pgagent) com o início de um cluster pg. Isso funciona para mim, mas pode não ser para você. Também pgagent é muito forky (forks mais que duas vezes) para o upstart rastrear seu PID, então não posso usar a sub-rotina respawn
. Seu serviço pode estar OK.
Para um exemplo do uso do cluster, inicie um serviço via Upstart, veja minhas aventuras aqui .