Sto eseguendo Ubuntu 12.04 su Oracle VirtualBox. Un paio di mesi fa, ho installato il server PostgreSQL versione 9.1 sul mio computer. Di recente ho appreso che il server PostgreSQL 9.3 supporta i tipi di dati JSON, quindi ho deciso di eseguire l'aggiornamento.
Ho aggiornato a 9.3 seguendo le istruzioni qui:
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
Questo server installato ha installato la versione 9.3 sulla mia macchina insieme alla versione 9.1. L'esecuzione di pg_lsclusters dopo un nuovo avvio dà:
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
Ho quindi effettuato la seguente manutenzione post-aggiornamento: ho esportato diverse tabelle dal mio server 9.1 con pg_dump e le ho ripristinate sul mio server 9.3. Ho quindi aperto i miei file di configurazione per 9.1 e 9.3 at /etc/postgresql/$VERSION/main/postgresql.conf
e ho scambiato i loro numeri di porta in modo che il mio client psql si connetta al nuovo server per impostazione predefinita.
La mia domanda è questa Sia 9.1 che 9.3 si avviano all'avvio. Vorrei impedire l'avvio automatico a 9.1, poiché occupa circa il 5% della memoria del mio sistema. Come posso fare questo?
Risorse consultate:
La pagina del documento PostgreSQL all'avvio di un server mi indica la directory init.d standard. La mia directory init.d contiene lo script postgresql
. Sembra che questo script possa essere configurato per avviare solo una versione, ma la modifica richiesta non è ovvia per me.
http://www.postgresql.org/docs/9.1/interactive/server-start.html
Il post seguente è stato molto istruttivo, ma mostra come rimuovere un cluster, non come disabilitarlo all'avvio. Vorrei lasciare installato il mio cluster più vecchio, poiché potrei voler recuperare ulteriori informazioni da esso.
Ho pensato di scrivere uno script per uccidere il server una volta che il sistema ha terminato il caricamento, ma questo sembra inefficiente. Esiste un modo più pulito per disabilitare la versione 9.1 all'avvio?