Używam Ubuntu 12.04 na Oracle VirtualBox. Kilka miesięcy temu zainstalowałem na moim komputerze serwer PostgreSQL w wersji 9.1. Niedawno dowiedziałem się, że serwer PostgreSQL 9.3 obsługuje typy danych JSON, więc zdecydowałem się na aktualizację.
Uaktualniłem do wersji 9.3, postępując zgodnie z instrukcjami tutaj:
https://wiki.postgresql.org/wiki/Apt
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql-9.3 pgadmin3
Zainstalowana wersja serwera 9.3 na moim komputerze wraz z wersją 9.1. Uruchamianie pg_lsclusters po świeżym rozruchu daje:
Ver Cluster Port Status Owner Data directory Log file
9.1 main 5433 online postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
Następnie wykonałem następującą konserwację po aktualizacji: wyeksportowałem kilka tabel z mojego serwera 9.1 za pomocą pg_dump i przywróciłem je na mój serwer 9.3. Następnie otworzyłem moje pliki konfiguracyjne dla wersji 9.1 i 9.3 /etc/postgresql/$VERSION/main/postgresql.conf
i zamieniłem ich numery portów, aby mój klient psql domyślnie łączył się z nowym serwerem.
Moje pytanie brzmi: Zarówno 9.1, jak i 9.3 uruchamiają się przy starcie systemu. Chciałbym zapobiec automatycznemu uruchamianiu systemu 9.1, ponieważ zajmuje on około 5% mojej pamięci systemowej. W jaki sposób mogę to zrobić?
Zasoby konsultowane:
Strona dokumentacji PostgreSQL po uruchomieniu serwera wskazuje mi standardowy katalog init.d. Mój katalog init.d zawiera skrypt postgresql
. Wygląda na to, że ten skrypt można skonfigurować tak, aby uruchamiał tylko jedną wersję, ale wymagana zmiana nie jest dla mnie oczywista.
http://www.postgresql.org/docs/9.1/interactive/server-start.html
Poniższy post był bardzo pouczający, ale pokazuje, jak usunąć klaster, a nie jak wyłączyć go podczas uruchamiania. Chciałbym zostawić mój starszy klaster zainstalowany, ponieważ mogę chcieć uzyskać z niego dalsze informacje.
Rozważałem napisanie skryptu, aby zabić serwer po zakończeniu ładowania systemu, ale wydaje się to nieefektywne. Czy istnieje prostszy sposób na wyłączenie wersji 9.1 podczas rozruchu?