繁体   English   中英

Postgres + JDBC模板已经有太多客户端异常

[英]Postgres+JDBC Template too many clients already exception

我正在使用postgresql,但是却收到此异常FATAL: sorry, too many clients从数据库表中获取记录时,已有FATAL: sorry, too many clients

休闲是连接类:

<context:component-scan base-package="com.trinity" />
      <context:property-placeholder location="classpath:/jdbc.properties" order="1" ignore-unresolvable="true"/>   
      <beans:bean id="dataSourcePOSTGRESQL" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
        <beans:property name="driverClassName" value="${pg_jdbc.driverClassName}" />
        <beans:property name="url" value="${pg_jdbc.url}" />
        <beans:property name="username" value="${pg_jdbc.username}" />
        <beans:property name="password" value="${pg_jdbc.password}" /> 
    </beans:bean>  

jdbc.propertis

pg_jdbc.driverClassName=org.postgresql.Driver
pg_jdbc1.url1=jdbc:postgresql://localhost:5433/iotdb
pg_jdbc.username=postgres
pg_jdbc.password=track@123

道课:

public List<Map<String, Object>> getAllDevicesNames(Integer companyId) {

    String sql = "select device_configuration_id,device_name,device_id from iot.device_configuration where company_id = ? ";
    List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(sql,new Object[]{companyId});
    return queryForList;

}

以前在我的postgres.cfg文件中

max_connections = 100
shared_buffers = 128kb

现在,我改为

max_connections = 300
shared_buffers = 80MB

一切正常。

使用此查询查找连接数:

SELECT sum(numbackends) FROM pg_stat_database;

服务器可能与数据库服务器具有的标准最大100个数据库连接可能不足以用于生产用途。 要在Linux安装程序中增加此Postgres默认值,可以按照以下步骤操作:

/var/lib/pgsql/data/postgresql.conf

您会发现这两个设置分别为100 MB和24 MB。 您可以将它们更改为以下内容:

max_connections = 300
shared_buffers = 80MB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM