Pool
- Node.js kursu
- İleri seviye
- Ders 32/83
- 5 dk
pg.Pool ile bağlantı havuzu öğrenirsin.
Pool oluşturma
Bir Pool oluşturmak: const pool = new Pool({ connectionString: "postgres://localhost/veritabani" }). connectionString tüm bağlantı parametrelerini tek bir dizgide taşır.
Alternatif olarak ayrı ayrı da verebilirsin: { host: "localhost", port: 5432, database: "test", user: "ayse", password: "sifre" }. Pool, bağlantıları tembel (lazy) açar; ilk sorguda bağlantı kurulur. pool.end() ile tüm bağlantıları kapatırsın. Üretimde (production) max ile havuz boyutunu ayarlamak iyi bir alışkanlıktır.
pool.query
pool.query(text, values) bir SQL sorgusu çalıştırır. text SQL dizgisi, values parametre dizisidir. Dönen nesnenin rows alanı sonuç satırlarını içerir.
Sorgu eşzamansızdır; await ile beklersin. Örnek: const res = await pool.query("SELECT * FROM users WHERE id = $1", [1]);. $1 bir parametre yer tutucusudur; values dizisindeki ilk öğeye karşılık gelir. Bu, SQL enjeksiyonunu önler.
Uygulama pool.query türünü yaz
Pool sınıfını pg'den içe aktar. Bir havuz oluştur: new Pool({}). typeof pool.query sonucunu yaz.
Başlangıç kodu
// modülü içe aktar
// havuz oluştur
// query türünü yazÖrnek çözüm
const { Pool } = require("pg");
const pool = new Pool({});
console.log(typeof pool.query);Beklenen çıktı
function
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sınıf adını tamamla
const pool = new ____({ host: "localhost", database: "test" })
const pool = new Pool({ host: "localhost", database: "test" })
Açıklama: new Pool({...}) bir bağlantı havuzu oluşturur.
2 Pool ne sağlar?
- Ağ hızlandırma
- Tek bağlantı
- Dosya sıkıştırma
- Bağlantı havuzu (yeniden kullanım) Doğru cevap
Açıklama: Pool bağlantıları yeniden kullanır.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
new Pool({...}) |
Havuz oluşturur |
pool.query |
Sorgu çalıştırır |
connectionString |
Bağlantı dizgisi |
pool.end() |
Havuzu kapatır |