PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

psql:không thể kết nối với máy chủ:Không có tệp hoặc thư mục như vậy (Mac OS X)

CẢNH BÁO: Nếu bạn xóa postmaster.pid mà không chắc chắn rằng thực sự không có postgres nào các quy trình đang chạy bạn, có thể làm hỏng vĩnh viễn cơ sở dữ liệu của bạn . (PostgreSQL sẽ tự động xóa nó nếu người quản lý bưu điện đã thoát.).

GIẢI PHÁP:Điều này đã khắc phục sự cố - Tôi đã xóa tệp này và sau đó mọi thứ hoạt động!

/usr/local/var/postgres/postmaster.pid

-

và đây là cách tôi tìm ra lý do tại sao điều này cần được xóa.

  1. Tôi đã sử dụng lệnh sau để xem liệu có bất kỳ quy trình PG nào đang chạy hay không. đối với tôi là không có, tôi thậm chí không thể khởi động máy chủ PG:

    ps auxw | grep post
    
  2. Tôi đã tìm kiếm tệp .s.PGSQL.5432 có trong thông báo lỗi ở trên. tôi đã sử dụng lệnh sau:

    sudo find / -name .s.PGSQL.5432 -ls
    

    điều này không hiển thị bất cứ điều gì sau khi tìm kiếm trên toàn bộ máy tính của tôi nên tệp không tồn tại, nhưng rõ ràng là psql "muốn nó" hoặc "nghĩ rằng nó đã ở đó".

  3. Tôi đã xem xét nhật ký máy chủ của mình và thấy lỗi sau:

    cat /usr/local/var/postgres/server.log
    

    ở cuối nhật ký máy chủ, tôi thấy lỗi sau:

    FATAL:  pre-existing shared memory block (key 5432001, ID 65538) is still in use
    HINT:  If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
    
  4. Theo lời khuyên trong thông báo lỗi, tôi đã xóa tệp postmaster.pid trong cùng thư mục với server.log. Điều này đã giải quyết được sự cố và tôi có thể khởi động lại.

Vì vậy, có vẻ như việc macbook của tôi bị đóng băng và khó khởi động lại đã khiến Postgres nghĩ rằng các quy trình của nó vẫn đang chạy ngay cả sau khi khởi động lại. Xóa tệp này đã được giải quyết. Hy vọng điều này sẽ giúp những người khác! Rất nhiều người gặp vấn đề tương tự nhưng hầu hết các câu trả lời đều liên quan đến quyền đối với tệp, trong khi trong trường hợp của tôi, mọi thứ lại khác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động chuyển đổi dự phòng cơ sở dữ liệu Moodle PostgreSQL

  2. Cách liệt kê các chỉ mục được tạo cho bảng trong postgres

  3. Sử dụng đầu ra văn bản từ một hàm làm truy vấn mới

  4. Thứ tự các bản ghi trong bảng có khóa chính tổng hợp là gì

  5. Kết hợp hai cột và thêm vào một cột mới