Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat 'org.postgresql.util.PSQLException: FATAL: maaf, sudah terlalu ramai pelanggan' dalam PostgreSQL?

Mengapa Saya Mendapat 'org.postgresql.util.PSQLException: FATAL: maaf, sudah terlalu ramai pelanggan' dalam PostgreSQL?

Barbara Streisand
Lepaskan: 2024-12-30 15:47:09
asal
647 orang telah melayarinya

Why Am I Getting

Memahami "org.postgresql.util.PSQLException: FATAL: maaf, terlalu ramai pelanggan sudah" Ralat

Apabila menyambung ke pangkalan data PostgreSQL, menghadapi ralat "org .postgresql.util.PSQLException: FATAL: maaf, terlalu ramai pelanggan sudah" menunjukkan bahawa yang dibenarkan had sambungan serentak telah melebihi.

Ini berlaku apabila kod membuka berbilang sambungan ke pangkalan data tanpa menutupnya dengan betul. Semasa memusnahkan dan mengumpul sampah kelas biasanya melepaskan pegangannya pada sambungan, adalah penting untuk menutup sambungan ke pangkalan data secara eksplisit.

Contoh pembetulan ialah menambahkan kod berikut dalam mana-mana kelas yang mencipta sambungan:

protected void finalize() throws Throwable  
{  
    try { your_connection.close(); } 
    catch (SQLException e) { 
        e.printStackTrace();
    }
    super.finalize();  
}
Salin selepas log masuk

Ini memastikan sambungan dilepaskan apabila kelas adalah sampah dikutip.

Ia juga berguna untuk menyemak bilangan maksimum sambungan yang dibenarkan oleh PostgreSQL:

show max_connections;
Salin selepas log masuk

Lalai ialah 100. Jika anda memerlukan lebih banyak sambungan, anda boleh meningkatkan nilai ini dengan mengedit fail postgresql.conf. Cari "max_connections" dan laraskannya dengan sewajarnya.

Untuk menentukan sambungan yang sedang dibuka atau program mana yang tidak melepaskannya, anda boleh menggunakan arahan berikut:

SELECT * FROM pg_stat_activity;
Salin selepas log masuk
SELECT COUNT(*) from pg_stat_activity;
Salin selepas log masuk

Akhir sekali, ingat untuk menjejaki sambungan yang sedang dibuat dan pastikan semuanya ditutup dengan betul.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'org.postgresql.util.PSQLException: FATAL: maaf, sudah terlalu ramai pelanggan' dalam PostgreSQL?. 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