Bagaimana cara menghapus versi spesifik Postgres?


11

Di Ubuntu 14.04 saya telah melakukan ini untuk mendapatkan postgres terbaru:

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

Kemudian saya menginstal versi 9.4:

sudo apt-get install postgresql-9.4

Namun sepertinya saya sekarang memiliki tiga versi:

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 ]

Bagaimana saya bisa menyimpan hanya 9,4 dan menghapus yang lain? Terima kasih

MEMPERBARUI:

Seperti yang disarankan dalam komentar saya telah menghapus instalan 9.3 dan 9.5.

Tetapi ketika saya melakukan ini:

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

Sejauh ini bagus, tetapi ketika saya beralih ke postgres:

sudo su postgres

dan melakukan psql, saya mendapatkan kesalahan:

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

Bagaimana Anda menginstal 9.3 dan 9.5?
Rinzwind

9.3 diinstal secara default di 14.04. 9.5 diinstal saat saya menambahkan PPI di atas. Itu baru saja menginstal server terbaru.
Houman

Postgres bukan bagian dari default Ubuntu ;-) Tapi kemudian saya akan berasumsi sudo apt-get remove postgresql-9.3akan menghapus 9,3 (setelah mematikan 9.3 server)
Rinzwind

Terima kasih saya mengikuti saran Anda, silakan lihat pertanyaan terbaru.
Houman

Aku menemukannya. Solusinya adalah dengan membersihkan semuanya seperti yang dikatakan di sini: askubuntu.com/a/334730/58150
Houman

Jawaban:


7

Versi PostgreSQL yang berbeda terdapat di paket postgresql-9. *.

  1. Jadi, Anda harus menghapus dua paket Anda:

    sudo apt-get purge postgresql-9.3 postgresql-9.5
    
  2. Maka Anda harus menghapus folder konfigurasi yang tidak perlu:

    rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
    
  3. Dan dari / var / lib / folder jika Anda memiliki:

    /var/lib/postgresql/*
    

Saya harap ini akan membantu Anda.


1

Menambahkan jawaban sangat terlambat tetapi mungkin membantu orang di sini.

Jawaban singkat: Kesalahan menunjukkan postgres yang dikonfigurasi pada port yang salah (bukan default). Gunakan port yang tepat

Jawaban panjang: Ketika Anda menginstal beberapa versi Postgresql, semuanya mulai menjalankan cluster postgres pada port yang berbeda. Output Anda, berikut postgres versi menjalankan: 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

Anda dapat menghapus versi lain menggunakan di sudo apt-get purge postgresql-9.xmana 9.xversi Anda, tetapi dalam kasus Anda versi (9,4) yang hadir pada sistem Anda dikonfigurasi untuk berjalan pada port 5434. Dengan demikian kesalahan tersebut dengan Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?sempurna menunjukkan bahwa psql secara default mencoba untuk terhubung ke port 5432yang tidak postgres lagi terpasang.

Dua solusi di sini :

  • Baik gunakan psql -p 5434opsi port yaitu (-p / - port) dalam perintah psql.
  • Atau konfigurasikan portnilai konfigurasi server postgres Anda /etc/postgresql/9.5/main/postgresql.confuntuk melayani pada 5432. Jangan lupa untuk me-restart postgres setelah perubahan.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.