Ich verwende Ubuntu 12.04 auf Oracle VirtualBox. Vor ein paar Monaten habe ich PostgreSQL Server Version 9.1 auf meinem Computer installiert. Erst kürzlich erfuhr ich, dass PostgreSQL Server 9.3 JSON-Datentypen unterstützt, und entschied mich für ein Upgrade.
Ich habe ein Upgrade auf 9.3 durchgeführt, indem ich den Anweisungen hier gefolgt bin:
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
Dieser installierte Server Version 9.3 auf meinem Computer neben Version 9.1. Wenn Sie pg_lsclusters nach einem Neustart ausführen, erhalten Sie Folgendes:
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
Anschließend habe ich nach dem Upgrade folgende Wartungsarbeiten durchgeführt: Ich habe mehrere Tabellen mit pg_dump von meinem 9.1-Server exportiert und auf meinem 9.3-Server wiederhergestellt. Ich öffnete dann meine Konfigurationsdateien für 9.1 und 9.3 um /etc/postgresql/$VERSION/main/postgresql.conf
und tauschte ihre Portnummern aus, so dass mein psql-Client standardmäßig eine Verbindung zum neuen Server herstellt.
Meine Frage ist das. Sowohl 9.1 als auch 9.3 werden beim Booten gestartet. Ich möchte verhindern, dass 9.1 automatisch hochfährt, da es ungefähr 5% meines Systemspeichers beansprucht. Wie kann ich das machen?
Konsultierte Ressourcen:
Die PostgreSQL-Dokumentseite beim Starten eines Servers verweist mich auf das Standardverzeichnis init.d. Mein init.d-Verzeichnis enthält das Skript postgresql
. Es sieht so aus, als ob dieses Skript so konfiguriert werden kann, dass nur eine Version gestartet wird, aber die erforderliche Änderung ist für mich nicht offensichtlich.
http://www.postgresql.org/docs/9.1/interactive/server-start.html
Der folgende Beitrag war sehr informativ, zeigt jedoch, wie ein Cluster entfernt und nicht beim Start deaktiviert wird. Ich möchte meinen älteren Cluster installiert lassen, da ich möglicherweise weitere Informationen daraus abrufen möchte.
Ich habe überlegt, ein Skript zu schreiben, um den Server zu beenden, sobald das System vollständig geladen ist, aber dies scheint ineffizient zu sein. Gibt es eine sauberere Möglichkeit, Version 9.1 beim Booten zu deaktivieren?