Come disinstallare versioni specifiche di Postgres?


11

Su Ubuntu 14.04 l'ho fatto per ottenere gli ultimi postgres:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade

Quindi ho installato la versione 9.4:

sudo apt-get install postgresql-9.4

Tuttavia sembra che ora abbia tre versioni:

sudo service postgresql stop

 * Stopping PostgreSQL 9.3 database server  [ OK ]
 * Stopping PostgreSQL 9.4 database server  [ OK ]
 * Stopping PostgreSQL 9.5 database server  [ OK ]

Come posso conservare solo 9.4 e disinstallare gli altri? Grazie

AGGIORNARE:

Come suggerito nei commenti, ho disinstallato 9.3 e 9.5.

Ma quando faccio questo:

sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down

Fin qui tutto bene, ma quando passo a Postgres:

sudo su postgres

e faccio un psql, ottengo un errore:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Come hai installato 9.3 e 9.5?
Rinzwind,

9.3 è stato installato di default in 14.04. 9.5 è stato installato nel momento in cui ho aggiunto il PPI sopra. Ha appena installato l'ultimo server.
Houman,

Postgres non fa parte di Ubuntu predefinito ;-) Ma suppongo sudo apt-get remove postgresql-9.3che rimuoverà 9.3 (dopo aver spento il server 9.3)
Rinzwind

Grazie ho seguito il tuo consiglio, per favore vedi la domanda aggiornata.
Houman,

L'ho trovato. La soluzione è eliminare tutto come dice qui: askubuntu.com/a/334730/58150
Houman,

Risposte:


7

Diverse versioni di PostgreSQL si trovano nei pacchetti postgresql-9. *.

  1. Quindi dovresti rimuovere i tuoi due pacchetti:

    sudo apt-get purge postgresql-9.3 postgresql-9.5
    
  2. Quindi è necessario rimuovere le cartelle di configurazione non necessarie:

    rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
    
  3. E dalla cartella / var / lib / se hai:

    /var/lib/postgresql/*
    

Spero che ti possa aiutare.


1

Aggiungere la risposta molto tardi, ma potrebbe aiutare le persone qui.

Risposta breve: l' errore indica postgres configurato su una porta errata (non predefinita). Usa la porta giusta

Risposta lunga: quando hai installato più versioni di Postgresql, tutte hanno iniziato a eseguire cluster Postgres su porte diverse. Nella tua uscita, seguenti versioni di Postgres sono in esecuzione: 9.3 --> 5432, 9.4 -->5434, 9.5 --> 5433.

sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down

Puoi disinstallare le altre versioni usando sudo apt-get purge postgresql-9.xdov'è la 9.xtua versione, tuttavia nel tuo caso la versione (9.4) che era presente sul tuo sistema è configurata per funzionare sulla porta 5434. Quindi l'errore Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?indica perfettamente che psql di default cerca di connettersi alla porta 5432che no ha più postgres in allegato.

Due soluzioni qui :

  • O usare l' psql -p 5434opzione porta (-p / - port) nel comando psql.
  • Oppure configura il portvalore di configurazione del tuo server postgres in modo /etc/postgresql/9.5/main/postgresql.confche venga pubblicato su 5432. Non dimenticare di riavviare postgres dopo la modifica.
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.