Шаблон Postgres+JDBC слишком много клиентов уже исключение
Я использую Postgresql, но я получаю это исключение 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;
}
2 ответа
Ранее в моем файле postgres.cfg
max_connections = 100
shared_buffers = 128kb
Теперь я перешел на
max_connections = 300
shared_buffers = 80MB
Работает нормально.
Используйте этот запрос, чтобы узнать количество соединений:
SELECT sum(numbackends) FROM pg_stat_database;
Стандартный 100 макс. Соединений с базой данных сервер может иметь с сервером базы данных может быть недостаточно для производственного использования. Чтобы увеличить значение Postgres по умолчанию в настройках Linux, вы можете выполнить следующие действия:
в
/var/lib/pgsql/data/postgresql.conf
Вы найдете эти 2 настройки на 100, 24 МБ соответственно. Вы можете изменить их на следующее:
max_connections = 300
shared_buffers = 80MB