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

Грешка при премахване на базата данни на Postgres:pq:не може да премахне текущо отворената база данни

Защото се опитвате да изпълните dropDb команда за база данни, към която имате отворена връзка.

Според документацията на postgres:

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

Ако сте изправени пред ситуация, в която различен клиент е свързан към базата данни и наистина искате да премахнете базата данни, можете принудително да изключите всички клиенти от тази конкретна база данни.

Например, за принудително прекъсване на връзката на всички клиенти от базата данни mydb :

Ако PostgreSQL <9.2

SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';

Иначе

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';

Забележка: Тази команда изисква привилегии на суперпотребител.

След това можете да се свържете с друга база данни и да стартирате dropDb команда отново.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функцията min(uuid) не съществува в postgresql

  2. SQLAlchemy има ли функция bool_and агрегат?

  3. Добавяне на Postgres обекти към Template1

  4. Подайте SQL функции във филтърната функция dplyr в базата данни

  5. как postgre обработва битовия тип данни?