Bagaimana untuk Menggugurkan Pangkalan Data Postgres yang Anda Sambungkan Sekarang?

Mary-Kate Olsen
Lepaskan: 2024-11-19 20:18:03
asal
270 orang telah melayarinya

How to Drop a Postgres Database You're Currently Connected To?

Melepaskan Pangkalan Data Bersambung dalam Postgres

Anda mengalami ralat semasa cuba melepaskan pangkalan data yang anda sedang bersambung: "pq: tidak boleh menggugurkan pangkalan data yang sedang dibuka." Ralat ini berpunca daripada gelagat yang dijangkakan dalam Postgres, yang melarang pengguguran pangkalan data dengan sambungan aktif kepadanya.

Tingkah laku ini masuk akal kerana menjatuhkan pangkalan data membatalkan semua sambungan terbuka yang merujuknya. Untuk berjaya menggugurkan pangkalan data, anda mesti memastikan tiada sambungan aktif wujud.

Pendekatan Disyorkan

Pendekatan yang disyorkan ialah menyambung ke pangkalan data lain dan melaksanakan perintah DROP DATABASE daripada sambungan itu. Ini memastikan bahawa anda tidak mempunyai sebarang sambungan terbuka ke pangkalan data yang ingin anda lepaskan.

Memutuskan Sambungan Pelanggan Secara Paksa

Dalam situasi di mana pelanggan lain disambungkan ke pangkalan data anda perlu melepaskannya, anda boleh memutuskan sambungannya secara paksa. Ambil perhatian bahawa ini memerlukan keistimewaan superuser.

Untuk versi PostgreSQL sebelum 9.2:

SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';
Salin selepas log masuk

Untuk PostgreSQL versi 9.2 dan ke atas:

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';
Salin selepas log masuk

Setelah semua pelanggan telah secara paksa terputus sambungan, anda boleh menyambung ke pangkalan data lain dan laksanakan perintah DROP DATABASE sekali lagi.

Nota Tambahan

Dalam contoh kod khusus anda, anda cuba menutup sambungan selepas melaksanakan arahan DROP DATABASE. Langkah ini tidak perlu dan boleh membawa kepada tingkah laku yang tidak dijangka. Hanya sambung ke pangkalan data lain sebelum melaksanakan perintah DROP DATABASE dan anda akan berjaya menutup sambungan ke pangkalan data yang telah anda lepaskan.

Atas ialah kandungan terperinci Bagaimana untuk Menggugurkan Pangkalan Data Postgres yang Anda Sambungkan Sekarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan