Each PostgreSQL cluster in Debian/Ubuntu has a
start.conf file that controls what
/etc/init.d/postgresql should do.
This is documented with pg_createcluster:
The start.conf file in the cluster configuration directory controls the
start/stop behavior of that cluster’s postmaster process. The file can
contain comment lines (started with ’#’), empty lines, and must have
exactly one line with one of the following keywords:
The postmaster process is started/stopped automatically in the init
script. This is also the default if the file is missing.
The postmaster process is not handled by the init script, but
manually controlling the cluster with pg_ctlcluster(1) is
Neither the init script nor pg_ctlcluster(1) are permitted to
start/stop the cluster. Please be aware that this will not stop the
cluster owner from calling lower level tools to control the
postmaster process; this option is only meant to prevent accidents
during maintenance, not more.