PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres drop database error:pq:tidak dapat menghapus database yang sedang dibuka

Karena, Anda mencoba menjalankan dropDb perintah pada database, di mana Anda memiliki koneksi terbuka.

Menurut dokumentasi postgres:

Ini masuk akal, karena saat Anda menghapus seluruh database, semua koneksi terbuka yang merujuk ke database tersebut menjadi tidak valid, Jadi pendekatan yang disarankan adalah menyambungkan ke database yang berbeda, dan menjalankan perintah ini lagi.

Jika Anda menghadapi situasi, di mana klien yang berbeda terhubung ke database, dan Anda benar-benar ingin menghapus database, Anda dapat secara paksa memutuskan semua klien dari database tertentu.

Misalnya, untuk secara paksa memutuskan semua klien dari basis data mydb :

Jika PostgreSQL <9.2

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

Lain

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

Catatan: Perintah ini membutuhkan hak pengguna super.

Kemudian, Anda dapat terhubung ke database yang berbeda, dan menjalankan dropDb perintah lagi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mencegah entri yang berdekatan/tumpang tindih dengan EXCLUDE di PostgreSQL

  2. Periksa apakah array JSON Postgres berisi string

  3. Bisakah saya menjalankan perintah sql run/sandbox?

  4. pgAdmin III Mengapa hasil kueri dipersingkat?

  5. Psycopg2, Postgresql, Python:Cara tercepat untuk menyisipkan secara massal