sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres drop database fejl:pq:kan ikke slette den aktuelt åbne database

Fordi du forsøger at udføre dropDb kommando på databasen, som du har åben forbindelse til.

Ifølge postgres dokumentation:

Dette giver mening, for når du dropper hele databasen, bliver al den åbne forbindelse, der refererer til den pågældende database, ugyldig, så den anbefalede fremgangsmåde er at oprette forbindelse til en anden database og udføre denne kommando igen.

Hvis du står over for en situation, hvor en anden klient er forbundet til databasen, og du virkelig ønsker at droppe databasen, kan du tvangsfrakoble hele klienten fra den pågældende database.

For eksempel at tvangsfrakoble alle klienter fra databasen mydb :

Hvis PostgreSQL <9.2

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

Andet

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

Bemærk: Denne kommando kræver superbrugerrettigheder.

Derefter kan du oprette forbindelse til en anden database og køre dropDb kommando igen.



  1. php oci_bind_by_name flyder til numerisk

  2. KONCAT flere felter til et enkelt felt med enkelt afstand

  3. Hvordan får jeg Flask SQLAlchemy til at genbruge db-forbindelser?

  4. Sådan hentes alle poster med fremmednøgle med Laravel