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.confi 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?