Thông báo lỗi bạn gặp phải không có lý do gì để khởi động lại cơ sở dữ liệu; nó không phải là một vấn đề cơ sở dữ liệu. Ứng dụng của bạn đang giữ quá nhiều kết nối, có thể do bạn quên thiết lập nhóm kết nối. Đó không phải là sự cố máy chủ DB và bạn có thể khắc phục nó mà không cần khởi động lại máy chủ DB.
Nếu bạn dừng ứng dụng Play của mình hoặc định cấu hình lại nhóm kết nối của nó, sự cố sẽ biến mất.
Một tùy chọn khác là đặt phiên bản Heroku của bạn ở chế độ bảo trì sau đó lấy nó ra một lần nữa.
Vì heroku không cho phép bạn kết nối với tư cách là superuser (vì lý do chính đáng) bạn không thể sử dụng khe siêu người dùng dành riêng đó để kết nối và quản lý các kết nối như bạn làm với PostgreSQL thông thường.
Xem thêm:
http://wiki.postgresql.org/wiki/Number_Of_Database_Connections
Nếu bạn là người dùng không phải heroku đã tìm thấy cái này:
Với PostgreSQL bình thường, bạn có thể ngắt kết nối máy khách của mình khỏi đầu cuối máy chủ bằng cách sử dụng kết nối PostgreSQL với máy chủ của bạn. Xem cách nó nói rằng có một khe dành riêng cho "kết nối siêu người dùng"? Kết nối với Pg như một siêu người dùng (postgres
người dùng theo mặc định) bằng PgAdmin-III hoặc psql
.
Sau khi kết nối, bạn có thể thấy các ứng dụng khách khác với:
SELECT * FROM pg_stat_activity;
Nếu bạn muốn ngắt mọi kết nối ngoại trừ kết nối của mình, bạn có thể chạy:
SELECT procpid, pg_terminate_backend(procpid)
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();
Thêm AND datname = current_database
và / hoặc AND usename = <target-user-name>
khi thích hợp.