Preventing PostgreSQL from starting on boot in Ubuntu
Ubuntu or Debian can run multiple instances of PostgreSQL and provide a specific way to autostart/stop/start each cluster.
There should be a file named start.conf
inside /etc/postgresql/9.2/main
(or more generally /etc/postgresql/<version>/<clustername>) with these self-explanatory contents:
# Automatic startup configuration # auto: automatically start/stop the cluster in the init script # manual: do not start/stop in init scripts, but allow manual startup with # pg_ctlcluster # disabled: do not allow manual startup with pg_ctlcluster (this can be easily # circumvented and is only meant to be a small protection for # accidents). auto
If you replace auto by manual, you could start this PostgreSQL instance only when desired with the command:
sudo pg_ctlcluster 9.2 main start
As for looking at the console, what you should want instead is having this run in a terminal when you work with the database:
tail -f /var/log/postgresql/postgresql-9.2-main.log
Short Term
The command /usr/sbin/update-rc.d
is used to start, stop, enable, or disable services (i.e. remove System-V style init script links from /etc/init.d/).
Type man update-rc.d
to familiarize yourself with the command and its parameters.
Here are some examples from the update-rc.d ubuntu 16.10 (yakkety) manual page:
update-rc.d -f foobar remove
update-rc.d foobar stop 20 2 3 4 5
Then type something along the lines of sudo update-rc.d [service] disable
for any service listed in your /etc/init.d/ directory. That will prevent [service] from starting at boot. If you also want to shut down the service immediately, try sudo service [service] stop
Long Term
You probably do not need to run PostgreSQL manually in order to see its console output. You just need to log that output, and tail the log file.