İçeriğe geç

Kapatılmayan DB bağlantısı (ARCH2084)

Anahtar python.performance.db-connection-not-closed · Önem error · Kategori performance

connect/cursor ile açılan bir bağlantı with olmadan kullanıldığında, hata durumunda havuza geri verilmez ve bağlantı sızar. Bağlam yöneticisi kullanın.

def count_rows(pool):
conn = pool.getconn()
cur = conn.cursor()
cur.execute("SELECT count(*) FROM orders")
return cur.fetchone()[0]
def count_rows(pool):
with pool.connection() as conn, conn.cursor() as cur:
cur.execute("SELECT count(*) FROM orders")
return cur.fetchone()[0]

Bağlantı ve imleçleri with ile açın; çıkışta havuza geri verilip kapatılsınlar.