2015-10-10 21 views
9
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"? 

chạy trên localhost cho kết quả tương tự:PostgreSQL ngừng làm việc sau khi khởi động lại

psql -h localhost                                     ⏎ master ✱ ◼ 
psql: could not connect to server: Connection refused 
    Is the server running on host "localhost" (127.0.0.1) and accepting 
    TCP/IP connections on port 5432? 

Trạng thái dịch vụ:

sudo service postgresql status                                  ⏎ master ✱ ◼ 
[sudo] password for david: 
● postgresql.service - PostgreSQL RDBMS 
    Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) 
    Active: active (exited) since Sat 2015-10-10 15:48:54 IDT; 26min ago 
    Process: 5470 ExecStart=/bin/true (code=exited, status=0/SUCCESS) 
Main PID: 5470 (code=exited, status=0/SUCCESS) 
    CGroup: /system.slice/postgresql.service 

Oct 10 15:48:54 david-X48-DS4 systemd[1]: Starting PostgreSQL RDBMS... 
Oct 10 15:48:54 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS. 
Oct 10 15:49:21 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS. 
Oct 10 15:51:40 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS. 
Oct 10 15:51:41 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS. 

chạy sudo netstat -nl | grep postgres mang đến cho không có kết quả

Tôi đang chạy Xubuntu 15.04

Các bước khắc phục sự cố tiếp theo của tôi sẽ là gì?

+0

Khi tôi tìm kiếm các quy trình, tôi sử dụng $ htop đó là "trình xem quy trình tương tác dành cho Linux". https://en.wikipedia.org/wiki/Htop. Cài đặt apt-get chuẩn. – Elvn

+0

'ps -ef | grep postgres'? Có gì trong các tệp nhật ký của PostgreSQL? 'pg_lsclusters'? –

Trả lời

0

Tôi có một vài đề xuất có thể hữu ích.

Khi bạn cố gắng kết nối với PostgreSQL, hãy thử: sudo -u postgres psql; người dùng của bạn có thể khác nhau đối với xác thực ngang hàng; vì vậy hãy kiểm tra số pg_hba.conf để chắc chắn; tệp này nằm trong thư mục $PGDATA của bạn.

Một đề xuất khác là bạn có thể muốn kiểm tra nhật ký khởi động và nhật ký hệ thống toàn cầu. Thông thường, số này thường ở số $PGDATApg_startup.log và số sau là /var/log/syslog.

4

YASP (Yet Another Systemd Vấn đề)

Việc tích hợp systemd của PostgreSQL trong Xenial là hơi mang phong cách riêng. Các đơn vị dịch vụ postgresql chỉ là một giả mà là vụ phải kích hoạt sự khởi đầu của các cá thể cơ sở dữ liệu thực tế của bạn (s) thông qua phụ thuộc dịch vụ. Đó là lý do tại sao nó nói ExecStart=/bin/true - lệnh bắt đầu của đơn vị là /bin/true, tức là. "không làm gì, thành công".

Các trường hợp có đơn vị dịch vụ có tên là [email protected]<version>-<name>. Bạn có thể thấy những bằng cách chạy lệnh

systemctl list-dependencies postgresql 

Dependencies được tạo ra bởi kịch bản /lib/systemd/system-generators/postgresql-generator cho tất cả các trường có chế độ bắt đầu được thiết lập để auto trong start.conf file tương ứng của họ dưới /etc/postgresql.

Ít nhất đó là cách nó được cho là hoạt động. Thỉnh thoảng, các phụ thuộc này ngừng hoạt động. Systemd sẽ vui vẻ báo cáo Started PostgreSQL RDBMS. nhưng trên thực tế sẽ không làm gì, thành công.

Vì vậy, bước gỡ rối tiếp theo của bạn nên là:

  • Kiểm tra xem trường hợp của bạn được liệt kê theo list-dependencies.
  • Nếu vậy, hãy gỡ lỗi xử lý sự phụ thuộc của systemd. (Chúc may mắn.)
  • Nếu không hãy kiểm tra các tệp 'start.conf' của trường hợp của bạn.
  • Nếu đúng, hãy gỡ lỗi trình tạo phụ thuộc.
0

Tôi đã gặp vấn đề tương tự, nhưng trong trường hợp của tôi, nguyên nhân là do ổ dữ liệu không được cập nhật khi máy chủ được khởi động lại.

Tôi biết đây chỉ là một trong nhiều lý do có thể xảy ra cho sự cố của bạn, nhưng nghĩ rằng điều đó đáng được nhắc đến! Tôi gắn ổ đĩa và khởi động lại postgresql và mọi thứ hoạt động tốt ngay bây giờ.

Các vấn đề liên quan