ERROR: cannot drop the currently open database
Dari pesan error tersebut terdapat pesan tersembunyi dri si postgresql, yaitu database idak bisa dihapus karena masih ada yang terhubung atau terkoneksi dengan database tersebut. Lalu bagaimana caranya kita mengetahui siapa yang mengakses ?
Disini saya menggunakan CentOS ya, dan saya cari dulu dengan menggunakan pg_stat_activity bawaan dari si postgresql.
SELECT * FROM pg_stat_activity WHERE datname=’namadatabase’;
Nanti akan muncul pesan detailnya siapa yang akses ke database tersebut mulai dari port nya, hostnya dan application_name nya.
Okeh lihat pid nya berapa, biasanya pid nya berjumlah 5 digit.
Lalu mari kita berhentikan paksa pid tersebut agar bisa kita drop databasemya dengan menggunakan perintah :
SELECT pg_terminate_backend(pidnomor) FROM pg_stat_activity WHERE datname = ‘namadatabase’;
Punya saya : SELECT pg_terminate_backend(29828) FROM pg_stat_activity WHERE datname = ‘investasi01‘;
Akan muncul pesan : The connection to the server was lost. Attempting reset: Succeeded.
Sekarang kalian drop databasenya. Semoga Berhasil.