Làm thế nào để loại bỏ Postgres khỏi cài đặt của tôi?


78

Tôi có Ubuntu 9.10 (karmic) và khi tôi cố gắng cài đặt một chương trình mới, các postgres đã được cài đặt như một phần phụ thuộc của chương trình đó, không có vấn đề gì nếu cài đặt xảy ra thành công, nhưng đã xảy ra lỗi và Postgres đã bị lỗi không được cài đặt và ứng dụng không hoạt động. Tôi đã cố cập nhật Postgres và không có gì, chỉ có thông báo "có lỗi và không thể cài đặt postgres của bạn"

Bây giờ tôi muốn xóa hoàn toàn Postgres khỏi máy của mình, làm thế nào tôi có thể làm điều đó, tôi không muốn giết quá trình mỗi khi khởi động. Tôi chỉ muốn loại bỏ Postgres.

Dòng lệnh là gì?

Cảm ơn mọi người.

Câu trả lời:


144

Cách đơn giản nhất để làm điều này là mở một thiết bị đầu cuối và gõ:

sudo apt-get --purge remove postgresql

Điều này cũng sẽ nhắc bạn xóa phần mềm phụ thuộc vào Postgres, trong trường hợp này có vẻ như bạn muốn làm phần mềm này.
Cá nhân tôi không chạy 9,10 hoặc Postgres, vì vậy có thể Postgres tự cài đặt thành nhiều phần. Trong trường hợp đó, một cách đơn giản:

dpkg -l | grep postgres

Sẽ giúp bạn có danh sách các gói mà Postgres đã cài đặt. Sau đó, chỉ cần sử dụng cùng một lệnh "apt-get --purge remove ...." nhưng thay vì chỉ postgresql, hãy nhập từng tên gói, cách nhau bằng khoảng trắng, như:

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

Điều này phụ thuộc vào danh sách các gói được cài đặt, tất nhiên.


Được rồi, tôi sẽ thử sau, bây giờ, cảm ơn bạn rất nhiều!
Deepcell

1
Tôi chạy dòng lệnh -> sudo apt-get --purge xóa postgresql và có vẻ như nó đã bị xóa khỏi Ubuntu của tôi .. Tôi đang chờ cập nhật, luôn luôn cập nhật các postgres xuất hiện lỗi. dù sao cũng cảm ơn bạn.
deepcell

Tôi nghĩ rằng nó là đúng. Nhưng hôm nay tôi lại nhận được cảnh báo tương tự, một hệ thống sự cố, một cái gì đó cố gắng cập nhật các postgres, nhưng nó không xảy ra, sau đó báo cáo sự cố đã hiển thị .. một số đề xuất? cảm ơn lần nữa
deepcell

3
Nó nên làdpkg -l | grep postgres
Mithun Sreedharan

78

Các bước làm việc cho tôi Ubuntu 8.04.2để loại bỏpostgres 8.3

  1. Liệt kê tất cả các gói liên quan đến 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. Xóa tất cả các danh sách trên

    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. Xóa các thư mục sau

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  4. Xóa người dùng postgres :

    sudo deluser postgres
    

Cảm ơn! nhưng tôi không sử dụng Ubuntu nữa. Bây giờ tôi đang sử dụng openuse và centos. Dù sao cũng cảm ơn, nếu tôi gặp rắc rối một lần nữa với postgres, câu trả lời của bạn sẽ hữu ích.
Deepcell

2
Bước 3 có thể được kết hợp thành một dòng nếu sử dụng bash shellsudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89

1
+1 cho bước 3 tại đây. Đó là chìa khóa cho tôi. Đã thử loại bỏ các gói nhiều lần nhưng đã bị bỏ lại phía sau trong / var / lib / postgresql và / etc / postgresql gây ra các hoạt động tiếp theo sau khi cài đặt lại không thành công.
Gil Hamilton

28

Một lệnh để loại bỏ hoàn toàn postgresql trong terminal là sudo apt-get --purge remove postgresql\*. Xin lưu ý rằng lệnh này sẽ loại bỏ postgresql và tất cả các thành phần của nó.


6
Tôi đã sử dụng sudo apt-get purge postgresql*vào ngày 14.04
Antonios Hadjigeorgalis

Đây phải là câu trả lời được chấp nhận!
Philipp Schwarz

Câu trả lời ở trên có tác dụng với tôi - Điều này đã không xóa tất cả mọi thứ như - tiểu bang
Ricky

1

Cảm ơn Code Friendly, và tôi muốn chia sẻ cách tôi giải quyết vấn đề của mình.

Khi tôi cập nhật postgresqltừ ứng dụng Synaptic, đó là phiên bản postgresql 10 đã được cài đặt. Vì vậy, tôi đã cài đặt hai phiên bản postgresql (10 & 9.6) trong máy debian của mình. Postgresql 9.6nghe trên cảng 5432. Postgresql 10nghe trên cổng 5433thay vì 5432.

Khi tôi chạy comand msfconsoletrong một thiết bị đầu cuối, mặc dù metasploit kết nối với cơ sở dữ liệu msf trên cổng 5432, thông báo lỗi sau xuất hiện:


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?

Tôi chưa mở phiên bản 9.6 postgresql từ ứng dụng Synaptic, nhưng vấn đề vẫn tồn tại (postgresql 9.6 không còn xuất hiện trong danh sách phần mềm đã cài đặt của synaptic);

Nhưng bằng cách thực hiện lệnh theo sau, chúng ta thấy rằng phiên bản postgresql 9.6 không hoàn toàn chưa được phát hiện:


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)

Với lệnh sau, postgresql-9.6 đã gỡ cài đặt hoàn toàn:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Sau đó, tôi chỉnh sửa tập tin /etc/postgresql/10/main/postgresql.conf, thay đổi số cổng thành 5432 và vấn đề được giải quyết.


Một thông báo lỗi khác xuất hiện:

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>

Tôi thấy rằng nguyên nhân là do hai (2) phiên bản Ruby được cài đặt trong máy debian của tôi, các phiên bản (2.2 & 2.3).

Tương tự, tôi gỡ cài đặt phiên bản ruby ​​2.2 khỏi ứng dụng synap và vấn đề được giải quyết, metasploit bắt đầu mà không gặp vấn đề gì.


1

Thực hiện theo các lệnh:

  • sudo apt-get --purge xóa postgresql

Liệt kê tất cả các gói liên quan đến postgres:

  • dpkg -l | grep postgres

xóa tất cả các gói được liệt kê ở trên bằng lệnh:

  • apt-get --purge gỡ bỏ gói1 gói2 ..

Xác nhận tất cả các tệp và thư mục liên quan đến postgres / postgresql sẽ bị xóa bằng lệnh:

  • trong đó postgres
  • trong đó postgresql

Loại bỏ tất cả các tập tin và thư mục được liệt kê bằng lệnh rm .

Xóa các postgres người dùng bằng lệnh:

  • userdel -f postgres

hạnh phúc mã hóa :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.