I got this error from an Play 2.0.3 java application. How could I restart Heroku Postgres Dev DB? I could not find any instructions to restart the DB on Heroku help center.
app[web.1]: Caused by: org.postgresql.util.PSQLException: FATAL: remaining connection slots are reserved for non-replication superuser connections
The error mesage you have there isn’t a reason to restart the database; it isn’t a database problem. Your application is holding too many connections, probably because you forgot to set up its connection pool. That isn’t a DB server problem and you can fix it without restarting the DB server.
If you stop your Play application or reconfigure its connection pool the problem will go away.
Another option is to put your Heroku instance in maintenance mode then take it out again.
Since heroku doesn’t allow you to connect as a superuser (for good reasons) you can’t use that reserved superuser slot to connect and manage connections like you would with normal PostgreSQL.
See also:
Heroku "psql: FATAL: remaining connection slots are reserved for non-replication superuser connections"
http://wiki.postgresql.org/wiki/Number_Of_Database_Connections
If you’re a non-heroku user who found this:
With normal PostgreSQL you can disconnect your client from the server end end using a PostgreSQL connection to your server. See how it says there’s a slot reserved for “superuser connections” ? Connect to Pg as a superuser (
postgresuser by default) using PgAdmin-III orpsql.Once you’re connected you can see other clients with:
If you want to terminate every connection except your own you can run:
Add
AND datname = current_databaseand/orAND usename = <target-user-name>as appropriate.