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

Flask dan SQLAlchemy menyebabkan banyak IDLE dalam koneksi transaksi di PostgreSQL

Saya telah melihat situasi ini terjadi ketika Anda menjalankan Flask di mode Debug . Jika kode Anda mengeluarkan pengecualian dan debugger masuk, transaksi tidak akan pernah "dikembalikan" atau "dihapus". Akibatnya, sesi yang digunakan pada permintaan yang gagal tidak pernah dikembalikan ke kumpulan.

Solusinya adalah dengan menonaktifkan mode debug.

EDIT:

Ada keadaan lain di mana saya telah melihat ini terjadi. Jika Anda memiliki kode yang berjalan secara mandiri (yaitu bukan bagian dari transaksi HTTP – seperti utas independen yang dimulai dan muncul saat peluncuran aplikasi Flask), biasanya akan melibatkan mode tidur. Jika Anda mengakses sesi sebelum tidur, maka Anda akan berakhir dengan transaksi macet seperti ini selama tidur.

Kemungkinan lain adalah Anda mengakses sesi dari fungsi buat aplikasi. Jika Anda melakukannya, pastikan untuk .remove() itu. Jika tidak, sesi tersebut dapat tetap digantung di utas utama di aplikasi gevent.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql bergabung dengan 2 tabel

  2. Jumlah Total Rekaman per Minggu

  3. Jumlahkan beberapa rentang tanggal dalam satu kueri?

  4. GeoDjango di Windows:Tidak dapat menemukan perpustakaan GDAL / OSError:[WinError 126] Modul yang ditentukan tidak dapat ditemukan

  5. Relasi yang diteruskan ke #atau harus kompatibel secara struktural. Nilai yang tidak kompatibel:[:references]