Postgres JDBC模板太多了客户端



我正在使用PostgreSQL,但是我在数据库中的表中获取记录时,我已经获得了此例外FATAL: sorry, too many clients

Fallowing是连接类:

<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

dao类:

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、24 MB。您可以将它们更改为以下内容:

max_connections = 300
shared_buffers = 80MB

最新更新