If postgresql does not shut down properly the file /var/lib/postgresql/data/postgresql.pid is not removed. Running /etc/init.d/postgresql zap doesn't remove the pid file and thus running /etc/init.d/postgresql start (or restart) will fail. On removing /var/lib/postgresql/data/postgresql.pid manually, everything works fine again.
The .pid file is actually /var/lib/postgresql/data/postmaster.pid.
fixed