How to stop postgres from autostarting during start up
Solution 1:
On Ubuntu 16.04 or later (which use systemd) you'd use this command
sudo systemctl disable postgresql
If you want to re-enable, you'd do
sudo systemctl enable postgresql
On Ubuntu 15.10 and older, you can use update-rc.d
:
janus@Zeus:~$ sudo update-rc.d -f postgresql remove
Removing any system startup links for /etc/init.d/postgresql ...
/etc/rc0.d/K21postgresql
/etc/rc1.d/K21postgresql
/etc/rc2.d/S19postgresql
/etc/rc3.d/S19postgresql
/etc/rc4.d/S19postgresql
/etc/rc5.d/S19postgresql
/etc/rc6.d/K21postgresql
janus@Zeus:~$
Solution 2:
Using update-rc.d
is better but you can do it with chkconfig
:
sudo apt-get install chkconfig
sudo chkconfig -s postgresql off
In Ubuntu 12.04, you also need to create a symlink to insserv
's location:
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
Solution 3:
This can help you: http://www.linuxquestions.org/questions/linux-general-1/how-to-remove-postgresql-from-startup-481963/#post2417585
But install chkconfig first:
sudo apt-get install chkconfig
and then use it
chkconfig
Solution 4:
The answers in here are outdated. Take a look at Daniel Vérité's answer on Preventing PostgreSQL from starting on boot in Ubuntu - Database Administrators Stack Exchange.
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