Hoy se me presentaba el problema de una vez instalado PostgreSQL desde las fuentes en Debian, compilandolo e instalandolo desde las fuentes de la web, como inicializar el servicio en /etc/init.d, pudiendo hacer un stop y un start del servicio.
Después de muchas vueltas viendo a ver como configurar el script, he leido por ahi que las nuevas versiones de postgresql, ya incluyen este script para que nada más haya que copiarlo dentro del directorio /etc/init.d y configurarlo a nuestro gusto.
Revisando las fuentes, la he encontrado en la carpeta contrib en /postgresql/contrib/start-scripts/ en esta carpeta estan los scripts de inicio de linux bsd y más sistemas.
Lo unico que hay que hacer es copiar en /etc/init.d el de linux, cambiarlo de nombre por postgresql, editarlo y cambiar la configuración según la ubicación de los archivos que tengamos, cambiando el PGDATA por la ubicación de nuestro cluster y prefix por la ubicación de nuestro pg_ctl.
Una vez realizado esto, simplemente con
/etc/init.d/postgresql start
y
/etc/init.d/postgresql stop
el servicio arrancara y se parará.
Si además quisieramos que se inicializara cuando el sistema arranque, debemos añadir la siguiente linea:
echo "/etc/init.d/postgresql start" >> /etc/rc.local
de esta manera se llamará en el arranque, también se podría hacer con update-rc, pero esto no lo he probado.