Spring boot postgres: FATAL: извините, слишком много клиентов уже - PullRequest
0 голосов
/ 13 июня 2018

Я использовал postgres в качестве базы данных в моем весеннем загрузочном приложении, когда я запускаю свое приложение, я получаю ошибку FATAL: sorry, too many clients already.Я настроил пул соединений в application.yml, но у меня все еще остается та же проблема

spring:
  jpa:
    database: postgresql
    hibernate:
      ddl-auto: update
  datasource:
    url: jdbc:postgresql://localhost:5432/sp
    username: sp
    password: admin
    continueOnError: true
    platform: dev
    tomcat:
      maxIdle: 10
      max-active: 100
      max-wait: 10000
      validationQuery: select 1
      removeAbandoned: true
      removeAbandonedTimeout: 120
      logAbandoned: true
      testOnBorrow: true
      testOnConnect: true
      testWhileIdle: true

2018-06-13 09: 29: 47.311 [ОШИБКА] [главная] [logging.DirectJDKLog: 181] Невозможно создать начальные соединения пула.org.postgresql.ConnectionFactoryImpl.java:217) в org.postgresql.core.ConnectionFactory.openConnection (ConnectionFactory.java:51) в org.postgresql.jdbc.PgConnection. (PgConnection.java:215) в org.postgresqlnema.Java: 404) в org.postgresql.Driver.connect (Driver.java:272) в org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver (PooledConnection.java:310) в org.apache.tomcat.jdbc.pool.PooledConnection.connect (PooledConnection.java:203) в org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection (ConnectionPool.java:735) в org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConolction (: 667) в org.apache.tomcat.jdbc.pool.ConnectionPool.init (ConnectionPool.java:482) в org.apache.tomcat.jdbc.pool.ConnectionPool. (ConnectionPool.java:154) в org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool (DataSourceProxy.java:118) в org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool (DataSourceProxy.jpg) в org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection (DataSourceProxy.java:131)

Ответы [ 2 ]

0 голосов
/ 30 июля 2019

Рабочий пример

application.yml

version: '3.6'
services:
  db:
    image: postgres
    ports:
      - 54321:5432
    environment:
      - POSTGRES_PASSWORD=myPassword
      - POSTGRES_USER=sa
      - POSTGRES_DB=testdatabase
    volumes:
      - ./src/main/resources/pg-init-scripts:/docker-entrypoint-initdb.d

resources / pg-init-scripts / connections.sql

ALTER SYSTEM SET max_connections ='1000';
select pg_reload_conf();

resources/pg-init-scripts/init.sql

-- your stuff

Все скрипты в папках init будут выполнены.

0 голосов
/ 13 июня 2018

Проверьте параметр max_connections в файле postgresql.conf с общим числом соединений, показанным в application.yml

ALTER SYSTEM SET max_connections ='150';

и перезапустите ваш экземпляр, используя

select pg_reload_conf();

Примечание: Количество соединений зависит от активного и неактивного соединения, установка большего числа в соединении приведет к перегрузке процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...