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

PostgreSQL:Tại sao psql không thể kết nối với máy chủ?

Lỗi nói rằng tiện ích psql không thể tìm thấy ổ cắm để kết nối với máy chủ cơ sở dữ liệu của bạn. Bạn không có dịch vụ cơ sở dữ liệu đang chạy trong nền hoặc ổ cắm nằm ở nơi khác hoặc có thể là pg_hba.conf cần được sửa.

Bước 1:Xác minh rằng cơ sở dữ liệu đang chạy

Lệnh có thể khác nhau tùy thuộc vào hệ điều hành của bạn. Nhưng trên hầu hết các hệ thống * ix, tính năng sau sẽ hoạt động, nó sẽ tìm kiếm các postgres trong số tất cả các quy trình đang chạy

ps -ef | grep postgres

Trên hệ thống của tôi, mac osx, điều này xuất hiện

501   408     1   0  2Jul15 ??         0:21.63 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log

Cột cuối cùng hiển thị lệnh được sử dụng để khởi động máy chủ và các tùy chọn.

Bạn có thể xem xét tất cả các tùy chọn có sẵn để khởi động máy chủ postgres bằng cách sử dụng như sau.

man postgres

Từ đó, bạn sẽ thấy rằng các tùy chọn -D-r tương ứng là datadir &logfilename .

Bước 2:Nếu dịch vụ postgres đang chạy

Sử dụng find để tìm kiếm vị trí của ổ cắm, vị trí này phải ở đâu đó trong /tmp

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

Nếu postgres đang chạy và chấp nhận kết nối ổ cắm, phần trên sẽ cho bạn biết vị trí của ổ cắm. Trên máy của tôi, hóa ra là:

/tmp/.s.PGSQL.5432

Sau đó, hãy thử kết nối qua psql bằng cách sử dụng vị trí của tệp này một cách rõ ràng, ví dụ:

psql -h /tmp/ dbname

Bước 3:Nếu dịch vụ đang chạy nhưng bạn không thấy ổ cắm

Nếu bạn không thể tìm thấy ổ cắm, nhưng thấy rằng dịch vụ đang chạy, hãy xác minh rằng tệp pg_hba.conf cho phép ổ cắm cục bộ.

Duyệt đến datadir và bạn sẽ tìm thấy pg_hba.conf tệp.

Theo mặc định, ở gần cuối tệp, bạn sẽ thấy các dòng sau:

# "local" is for Unix domain socket connections only
local       all       all       trust

Nếu bạn không nhìn thấy nó, bạn có thể sửa đổi tệp và khởi động lại dịch vụ postgres.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CTE và Nghịch lý sinh nhật

  2. Cách kiểm tra phiên bản PostgreSQL của bạn

  3. Sử dụng Hàm tương quan PostgreSQL

  4. Kích hoạt so với kiểm tra ràng buộc

  5. PostgreSQL 12:Khóa ngoại và bảng phân vùng