Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyelesaikan 'pq: tidak boleh menggugurkan pangkalan data yang sedang dibuka' Ralat dalam PostgreSQL?

Bagaimana untuk Menyelesaikan 'pq: tidak boleh menggugurkan pangkalan data yang sedang dibuka' Ralat dalam PostgreSQL?

Susan Sarandon
Susan Sarandonasal
2024-11-15 01:32:02797semak imbas

How to Resolve

Postgres Drop Pangkalan Data Ralat: "pq: tidak boleh menggugurkan pangkalan data yang sedang dibuka"

Ralat ini berlaku apabila cuba menggugurkan pangkalan data anda sedang disambungkan kepada. Menurut dokumentasi Postgres, seseorang tidak boleh menggugurkan pangkalan data yang mempunyai sambungan terbuka. Untuk membetulkan isu ini, sambung ke pangkalan data lain dan laksanakan perintah DROP DATABASE pada sambungan itu.

Sebagai alternatif, jika pelanggan lain disambungkan ke pangkalan data, anda boleh memutuskan sambungan mereka secara paksa untuk membenarkan operasi drop. Walau bagaimanapun, ini memerlukan keistimewaan superuser. Untuk memutuskan sambungan pelanggan secara paksa daripada pangkalan data bernama "mydb," gunakan arahan berikut:

If PostgreSQL < 9.2:
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';

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

Setelah semua pelanggan telah diputuskan sambungan, anda boleh menyambung ke pangkalan data lain dan laksanakan perintah DROP DATABASE untuk mengalih keluar yang dikehendaki. pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'pq: tidak boleh menggugurkan pangkalan data yang sedang dibuka' Ralat dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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