PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

psql:ФАТАЛНО:твърде много връзки за роля

От всяка база данни на клъстера:

Уловка 22:първо трябва да се свържете с база данни. Може би можете да се свържете като друг потребител? (По подразбиране някои връзки са запазени за суперпотребители с superuser_reserved_connections настройка.)

За да получите подробна информация за всяка връзка от този потребител:

SELECT *
FROM   pg_stat_activity
WHERE  usename = 'user_name';

Като същия потребител или като суперпотребител можете да отмените всички (други) връзки на даден потребител:

SELECT pg_cancel_backend(pid)     -- (SIGINT)
    -- pg_terminate_backend(pid)  -- the less patient alternative (SIGTERM)
FROM   pg_stat_activity
WHERE  usename = 'user_name'
AND    pid <> pg_backend_pid();

По-добре бъдете сигурни, че е добре да го направите. Не искате да прекъсвате важни заявки (или връзки) по този начин.

pg_cancel_backend() и pg_terminate_backend() в ръководството.

От обвивка на Linux

Вие сами ли започнахте тези други връзки? Може би висящ сценарий от вас? Трябва да можете да ги убиете (ако сте сигурни, че е добре да го направите).

Можете да проучите с ps кои процеси може да са погрешни:

ps -aux
ps -aux | grep psql

Ако идентифицирате процес, който да убиете (по-добре бъдете сигурни, че не). искате да убиете сървъра):

kill  123457689 # pid of process here.

Или с SIGKILL вместо SIGTERM :

kill -9 123457689


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете редни числа в PostgreSQL

  2. Сравняване на балансьори на натоварване за PostgreSQL

  3. sqlalchemy.exc.NoSuchModuleError:Не мога да заредя плъгин:sqlalchemy.dialects:postgres

  4. PostgreSQL:формат на интервала като минути

  5. Не мога да свържа моето приложение за Android Studio с PostgreSQL