27

I am using PostgreSQL 9.2 and it runs automatically when I start the system (Kubuntu).

How can I avoid this?

I need to start it manually, and I don't want it to start unattended because I need to look at the console.

47

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
3

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.