sql >> Database >  >> RDS >> PostgreSQL

Postgres drop database error:pq:kan de momenteel geopende database niet verwijderen

Omdat u dropDb . probeert uit te voeren commando op de database, waarmee u een open verbinding hebt.

Volgens postgres-documentatie:

Dit is logisch, want als je de hele database laat vallen, worden alle open verbindingen die naar die database verwijzen ongeldig. De aanbevolen aanpak is dus om verbinding te maken met een andere database en deze opdracht opnieuw uit te voeren.

Als u geconfronteerd wordt met een situatie waarin een andere client is verbonden met de database en u de database echt wilt verwijderen, kunt u de client met geweld loskoppelen van die specifieke database.

Bijvoorbeeld om alle clients geforceerd los te koppelen van de database mydb :

Als PostgreSQL <9.2

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

Anders

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

Opmerking: Voor deze opdracht zijn superuser-rechten vereist.

Vervolgens kunt u verbinding maken met een andere database en dropDb . uitvoeren commando opnieuw.



  1. Het invoegen van gegevens van CSV in MySQL DB is erg traag

  2. Kan geen verbinding maken met lokale MySQL-server via socket '/var/run/mysqld/mysqld.sock'-fout bij het instellen van de mysql-database voor de Ruby on Rails-app

  3. Foutmelding:Uitzondering in hoofdthread org.hibernate.HibernateException:Fout bij toegang tot stax-stream

  4. hoe kan ik mijn database doorzoeken en laten uitvoeren op een Google-spreadsheet, zodat iemand deze gegevens kan bewerken en vervolgens weer kan weergeven in MySQL?