Bagaimana cara menghapus Postgres dari instalasi saya?

78

Saya memiliki ubuntu 9.10 (karmic), dan ketika saya mencoba untuk menginstal program baru, postgres diinstal sebagai ketergantungan dari program itu, tidak ada masalah sama sekali jika instalasi terjadi dengan sukses, tetapi ada kesalahan, dan Postgres adalah tidak terpasang dan aplikasi tidak berfungsi. Saya telah mencoba untuk memperbarui Postgres dan tidak ada, hanya pesan "ada kesalahan dan postgres Anda tidak dapat diinstal"

Sekarang saya ingin menghapus sepenuhnya Postgres dari mesin saya, bagaimana saya bisa melakukan itu, saya tidak ingin membunuh proses setiap boot. Saya hanya ingin menghapus Postgres.

Apa baris perintah?

Terima kasih banyak orang.

deepcell
sumber

Jawaban:

144

Cara paling sederhana untuk melakukan ini adalah membuka terminal dan ketik:

sudo apt-get --purge remove postgresql

Ini juga akan meminta Anda untuk menghapus perangkat lunak yang tergantung pada Postgres, yang dalam hal ini tampaknya Anda ingin lakukan.
Saya pribadi tidak menjalankan 9,10 atau Postgres, jadi ada kemungkinan Postgres menginstal sendiri di beberapa bagian. Dalam hal ini, sederhana:

dpkg -l | grep postgres

Akan memberi Anda daftar paket-paket yang diinstal Postgres. Kemudian, cukup gunakan perintah "apt-get --purge remove ...." yang sama tetapi alih-alih hanya postgresql, ketikkan setiap nama paket, dipisahkan dengan spasi, seperti:

sudo apt-get --purge remove postgresql postgresql-doc postgresql-common

Ini tergantung pada daftar paket yang diinstal, tentu saja.

Ramah Kode
sumber
Baiklah, saya akan coba nanti, untuk saat ini, terima kasih banyak!
deepcell
1
Saya menjalankan baris perintah -> sudo apt-get --purge menghapus postgresql dan sepertinya dihapus dari ubuntu saya .. Saya menunggu pembaruan, selalu pada pembaruan postgres muncul kesalahan. terima kasih.
deepcell
Saya pikir itu benar. Tapi hari ini saya mendapat peringatan yang sama lagi, sistem crash, sesuatu mencoba memperbarui postgres, tetapi itu tidak terjadi, maka laporan crash telah muncul dengan sendirinya .. beberapa saran? Terima kasih lagi.
deepcell
3
Seharusnyadpkg -l | grep postgres
Mithun Sreedharan
78

Langkah-langkah yang berhasil saya Ubuntu 8.04.2hapuspostgres 8.3

  1. Daftar Semua paket terkait Postgres

    dpkg -l | grep postgres
    
    ii  postgresql                            8.3.17-0ubuntu0.8.04.1           object-relational SQL database (latest versi
    ii  postgresql-8.3                        8.3.9-0ubuntu8.04                object-relational SQL database, version 8.3
    ii  postgresql-client                     8.3.9-0ubuntu8.04                front-end programs for PostgreSQL (latest ve
    ii  postgresql-client-8.3                 8.3.9-0ubuntu8.04                front-end programs for PostgreSQL 8.3
    ii  postgresql-client-common              87ubuntu2                        manager for multiple PostgreSQL client versi
    ii  postgresql-common                     87ubuntu2                        PostgreSQL database-cluster manager
    ii  postgresql-contrib                    8.3.9-0ubuntu8.04                additional facilities for PostgreSQL (latest
    ii  postgresql-contrib-8.3                8.3.9-0ubuntu8.04                additional facilities for PostgreSQL
    
  2. Hapus semua yang tercantum di atas

    sudo apt-get --purge remove postgresql postgresql-8.3  postgresql-client  postgresql-client-8.3 postgresql-client-common postgresql-common  postgresql-contrib postgresql-contrib-8.3
    
  3. Hapus folder berikut

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  4. Hapus pengguna postgres :

    sudo deluser postgres
    
Mithun Sreedharan
sumber
Terima kasih! tapi saya tidak menggunakan ubuntu lagi. Sekarang saya menggunakan openuse dan centos. Bagaimanapun, terima kasih, jika saya memiliki masalah lagi dengan postgres, jawaban Anda akan berguna.
deepcell
2
Langkah 3 dapat digabungkan menjadi satu baris jika menggunakan bash shellsudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89
1
+1 untuk langkah 3 di sini. Itu kunci bagi saya. Sudah mencoba menghapus paket beberapa kali tetapi ada cacat yang tertinggal di / var / lib / postgresql dan / etc / postgresql yang menyebabkan operasi selanjutnya setelah menginstal ulang gagal.
Gil Hamilton
28

Satu perintah untuk sepenuhnya menghapus postgresql di terminal adalah sudo apt-get --purge remove postgresql\*. Harap dicatat bahwa perintah ini akan menghapus postgresql dan semua kompensasinya.

pengguna3146785
sumber
6
Saya menggunakan sudo apt-get purge postgresql*pada 14,04
Antonios Hadjigeorgalis
Ini harus menjadi jawaban yang diterima!
Philipp Schwarz
Jawaban di atas berfungsi untuk saya - Ini tidak menghapus semuanya sebagai --purge state
Ricky
1

Terima kasih Code Friendly, & saya ingin berbagi bagaimana saya memecahkan masalah saya.

Ketika saya memperbarui postgresqldari aplikasi Synaptic, itu adalah versi postgresql 10 yang diinstal. Jadi saya punya dua versi postgresql (10 & 9.6) yang terinstal di mesin debian saya. Postgresql 9.6mendengarkan di port 5432. Postgresql 10mendengarkan di port, 5433bukan 5432.

Ketika saya menjalankan perintah msfconsoledi terminal, meskipun metasploit terhubung ke database msf pada port 5432, pesan kesalahan berikut muncul:


root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

Saya membatalkan versi 9,6 postgresql dari aplikasi Synaptic, tetapi masalahnya tetap ada (postgresql 9.6 tidak lagi muncul dalam daftar perangkat lunak yang diinstal synaptic);

Tetapi dengan mengeksekusi perintah yang mengikuti kita melihat bahwa versi postgresql 9.6 tidak sepenuhnya unistalled:


root@kali:~# dpkg -l | grep postgresql 
ii  postgresql                     10+187             all          object-relational SQL database (supported version)
ii  postgresql-9.6                 **                 all          object-relational SQL database, version 9.6 server
ii  postgresql-10                  10.0-1+b1          amd64        object-relational SQL database, version 10 server
ii  postgresql-client-10           10.0-1+b1          amd64        front-end programs for PostgreSQL 10
ii  postgresql-client-common       187                all          manager for multiple PostgreSQL client versions
ii  postgresql-common              187                all          PostgreSQL database cluster manager
ii  postgresql-contrib             10+187             all          additional facilities for PostgreSQL (supported version)

Dengan perintah berikut, postgresql-9.6 dihapus sepenuhnya:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Kemudian saya mengedit file /etc/postgresql/10/main/postgresql.conf, mengubah nomor port menjadi 5432 dan masalahnya selesai.


Pesan kesalahan lain muncul:

Creating initial database schema /usr/local/bin/bundle:22:in ``load': cannot load such file -- /usr/lib/ruby/exe/bundle (LoadError)     from /usr/local/bin/bundle:22:in `<main>

Saya menemukan bahwa penyebabnya adalah bahwa dua (2) versi Ruby diinstal di mesin debian saya, versi (2.2 & 2.3).

Hal yang sama, saya menghapus versi ruby ​​2.2 dari aplikasi synaptic dan masalahnya selesai, metasploit dimulai tanpa masalah.

Internaut 06
sumber
1

Ikuti perintah:

  • sudo apt-get --purge menghapus postgresql

Daftar semua paket terkait postgres:

  • dpkg -l | grep postgres

hapus semua paket yang tercantum di atas menggunakan perintah:

  • apt-get --purge hapus package1 package2 ..

Konfirmasikan semua file dan folder yang terkait dengan postgres / postgresql dihapus menggunakan perintah:

  • dimana postgres
  • dimana postgresql

Hapus semua file dan folder yang terdaftar menggunakan perintah rm .

Hapus postgres pengguna menggunakan perintah:

  • userdel -f postgres

selamat coding :)

T.Tijo
sumber