Postgres'in belirli sürümlerini nasıl kaldırabilirim?


11

Ubuntu 14.04'te en son postgresleri almak için bunu yaptım:

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

Sonra 9.4 sürümünü yükledim:

sudo apt-get install postgresql-9.4

Ancak şimdi üç sürümü var gibi görünüyor:

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 ]

Yalnızca 9,4'ü nasıl saklayabilir ve diğerlerini nasıl kaldırabilirim? Teşekkürler

GÜNCELLEME:

Yorumlarda önerildiği gibi 9.3 ve 9.5'i kaldırdım.

Ama bunu yaptığımda:

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

Şimdiye kadar iyi, ama postgres geçiş yaptığımda:

sudo su postgres

ve bir psql yapmak, bir hata alıyorum:

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"?

9.3 ve 9.5'ü nasıl kurdunuz?
Rinzwind

9.3, 14.04'te varsayılan olarak kuruldu. Yukarıdaki ÜFE'yi eklediğim anda 9.5 kuruldu. Sadece en son sunucuyu kurdu.
Houman

Postgres, varsayılan bir Ubuntu ;-) 'nin bir parçası değildir, ancak sudo apt-get remove postgresql-9.39.3'ü (9.3 sunucusunu kapattıktan sonra) kaldıracağını varsayalım
Rinzwind

Tavsiyeni takip ettiğim için teşekkürler, lütfen güncellenmiş soruya bakın.
Houman

Buldum. Çözüm, her şeyi burada söylediği gibi temizlemektir: askubuntu.com/a/334730/58150
Houman

Yanıtlar:


7

PostgreSQL'in farklı sürümleri postgresql-9. * Paketlerinde bulunmaktadır.

  1. Bu yüzden iki paketinizi kaldırmalısınız:

    sudo apt-get purge postgresql-9.3 postgresql-9.5
    
  2. Sonra gereksiz yapılandırma klasörlerini kaldırmalısınız:

    rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
    
  3. Ve / var / lib / klasöründen varsa:

    /var/lib/postgresql/*
    

Umarım bu sana yardımcı olur.


1

Çok geç cevap vermek ama burada insanlara yardımcı olabilir.

Kısa cevap: Hata, yanlış (varsayılan değil) bağlantı noktasında yapılandırılmış postgresleri gösterir. Doğru bağlantı noktasını kullanın

Uzun yanıt: Postgresql'in birden çok sürümünü yüklediğinizde, hepsi farklı bağlantı noktasında postgres kümeleri çalıştırmaya başladı. Çıktınıza aşağıdaki postgres versiyonları yayınlanıyor: 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

Diğer sürümleri sürümünüzün sudo apt-get purge postgresql-9.xnerede 9.xolduğunu kullanarak kaldırabilirsiniz, ancak sizin durumunuzda sisteminizde bulunan sürüm (9.4) 5434 numaralı bağlantı noktasında çalışacak şekilde yapılandırılmıştır. Bu nedenle hata, psql'nin Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?varsayılan olarak 5432hiçbir bağlantı noktasına bağlanmaya çalıştığını gösterir. artık herhangi bir postgres eklenmiş.

Burada iki çözüm :

  • Ya kullanmak psql -p 5434psql'in komuta - (bağlantı noktası -p /) yani liman seçeneği.
  • Veya 5432'de sunulacak postgres sunucu portyapılandırma değerinizi yapılandırın /etc/postgresql/9.5/main/postgresql.conf. Değişiklikten sonra postgres'i yeniden başlatmayı unutmayın.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.