Come posso impostare quale versione di PostgreSQL deve essere utilizzata per impostazione predefinita?


23

Ho 2 diverse versioni di PostgreSQL installate sul mio sistema (Ubuntu Lucid):

  • /var/lib/postgresql/8.4
  • /var/lib/postgresql/9.0

Per impostazione predefinita, quando eseguo un comando PostgreSQL come Createdb o psql, viene utilizzata la versione 9.0.

Come configuro invece il mio sistema per utilizzare la versione 8.4 di default?

Risposte:


15

I vari strumenti della riga di comando di PostgreSQL parleranno al server in ascolto sulla porta predefinita (5432) per impostazione predefinita.

È possibile determinare su quale porta è in ascolto ciascun server cercando la portvariabile nel /etc/postgresql/$VERSION/main/postgresql.conffile per il server pertinente.

Per ottenere gli strumenti della riga di comando per comunicare con l'altro server per impostazione predefinita, sono disponibili due opzioni:

Innanzitutto, è possibile cambiare le porte su cui i due server sono in ascolto modificando i file di configurazione menzionati in precedenza e quindi riavviando entrambi i server (probabilmente vorrai arrestarli prima di avviare uno dei due).

In alternativa, è possibile impostare la PGPORTvariabile di ambiente sul numero di porta del server predefinito desiderato. Ciò dovrebbe interessare tutte le applicazioni che usano la libreria client PostgreSQL.


Per elencare i contenuti di ciascun cluster di database utilizzare psql -l -p PORT_NUMBER. Per migrare i dati, consultare la sezione " 24.4. Migrazione tra rilasci " nella documentazione di PostgreSQL.

L'eliminazione di vecchie versioni di PostgreSQL consente di risparmiare usura su laptop e SSD, attraverso la riduzione delle scritture su disco.


Buona risposta. Inoltre, considera di eliminare le vecchie versioni di Postgres. Ognuno di loro usa ram e scrive sul disco una volta al minuto (male per SSD e laptop).
Bryce
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.