即使打开的连接很少,我仍然会收到这些错误。我转而使用DBCP,没有任何问题。
[ERROR] com.zaxxer.hikari.HikariPool - Maximum connection creation retries exceeded: FATAL: remaining connection slots are reserved for non-replication superuser connections
org.postgresql.util.PSQLException: FATAL: remaining connection slots are reserved for non-replication superuser connections
at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:572) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:177) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.Driver.makeConnection(Driver.java:410) ~[postgresql-9.3-1100-jdbc41.jar:na]
at org.postgresql.Driver.connect(Driver.java:280) ~[postgresql-9.3-1100-jdbc41.jar:na]
答案 0 :(得分:2)
新用户是否具有复制权限?这听起来像是这样,这意味着从PostgreSQL的角度来看,用户可以启动复制。具有复制功能的连接数量有限(尽管可配置)。我会检查您创建的新用户并从该用户中删除复制权限。然后应该允许它启动最大数量的已配置连接。
答案 1 :(得分:1)
我正在使用Postgres.app for osx。我为新应用程序创建了一个用户,而不是我自己的默认用户。该用户在获得上述异常之前只能创建三个连接。
PSQLException: FATAL: remaining connection slots are reserved for non-replication superuser connections
似乎Postgres.app将最大连接数设置为20,我无法更改。我试过了,但是在更改后我无法连接到postgres。当我作为主用户(我的本地用户帐户)连接时,它似乎没有受到影响,但我创建的新用户无法打开足够的连接。