Có cùng một vấn đề, hoặc tương tự. Có thể tôi đã cài đặt pgsql từ nguồn, không nhớ. Chúng tôi có thể tạo các tệp bắt đầu dịch vụ của riêng mình. Làm sao? Hãy cùng tìm hiểu!>> RTFM < man service
dẫn chúng ta đến chkconfig (8), vì vậy
man chkconfig
và nó cung cấp cho chúng tôi một tùy chọn
chkconfig --add ${svcname}
để thêm một dịch vụ hoàn toàn mới dưới tên mà chúng tôi chọn!
Nhưng trước khi làm, chúng tôi thực sự có thể muốn kiểm tra những gì đã có ở đó. Với
service --status-all
chúng tôi nhận được danh sách tất cả các dịch vụ đã biết và trạng thái đang chạy của chúng. Và tôi đã tìm thấy "postmaster" trong danh sách của mình, và như bạn có thể biết, máy chủ chính của PostgreSQL để kết nối từng được gọi là "postmaster". Tuy nhiên, khi tôi thử
service postmaster status
nó cũng nói với tôi rằng nó không biết dịch vụ như vậy. Được rồi, hãy quên nó đi - bây giờ - hãy tiếp tục với việc tự làm! Nhưng tôi vẫn muốn xem thử những gì có trong cấp độ chạy 3 (cấp độ chạy máy chủ bình thường). Vì vậy, tôi đi
ls -1 /etc/rc.d/rc3.d |fgrep post
và ở đó tôi tìm thấy:"K36postgresql95"! Vì vậy, theo đó tên dịch vụ của chúng tôi phải là "postgresql95". Đang thử đó:
service postgresql95 status
nó nói bây giờ "quản trị viên bưu điện đã dừng lại". Gây nhầm lẫn tên dịch vụ báo cáo cho chính nó cả trong dịch vụ - trạng thái-tất cả và khi chúng tôi yêu cầu riêng nó khác với tên được sử dụng để thực sự giải quyết nó trong lệnh dịch vụ. Tốt để biết. Đủ dễ dàng để tìm kiếm /etc/rc.d cho tên mà bạn quan tâm.
service postgresql95 start
bây giờ bắt đầu dịch vụ. Và kiểm tra với
psql -U ${pguser} ${pgdb}
và tôi thấy điều đó có hiệu quả. Vì vậy, bây giờ tất cả những gì tôi cần làm là bật dịch vụ đó khi khởi động hệ thống để tự động khởi động
chkconfig --levels 3 postgresql95 on
và điều đó hoạt động, phải không?
Tái bút:Không thành vấn đề khi tôi chạy phiên bản 9.5