データベースを再起動する理由がないというエラーメッセージが表示されます。データベースの問題ではありません。おそらく接続プールの設定を忘れたために、アプリケーションが保持している接続が多すぎます。これはDBサーバーの問題ではなく、DBサーバーを再起動せずに修正できます。
Playアプリケーションを停止するか、接続プールを再構成すると、問題は解決します。
もう1つのオプションは、Herokuインスタンスをメンテナンスモードにしてから、再度取り出すことです。
herokuでは、スーパーユーザーとして接続することはできません (正当な理由で)通常のPostgreSQLの場合のように、予約済みのスーパーユーザースロットを使用して接続および接続を管理することはできません。
参照:
Heroku "psql :致命的:残りの接続スロットは非レプリケーションスーパーユーザー接続用に予約されています "
http://wiki.postgresql.org/wiki/Number_Of_Database_Connections
これを見つけたHeroku以外のユーザーの場合:
通常のPostgreSQLでは、サーバーへのPostgreSQL接続を使用して、クライアントをサーバーエンドエンドから切断できます。 「スーパーユーザー接続」用に予約されたスロットがあると表示されているのを確認してください。スーパーユーザーとしてPgに接続します(postgres
デフォルトのユーザー)PgAdmin-IIIまたはpsql
を使用 。
接続すると、他のクライアントを次のように表示できます:
SELECT * FROM pg_stat_activity;
自分の接続以外のすべての接続を終了する場合は、次のコマンドを実行できます。
SELECT procpid, pg_terminate_backend(procpid)
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();
AND datname = current_database
を追加します および/またはAND usename = <target-user-name>
必要に応じて。