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

Apa cara yang tepat untuk menggunakan modul postgresql node.js?

Saya penulis node-postgres. Pertama, saya minta maaf dokumentasi gagal memperjelas opsi yang tepat:itu salah saya. Saya akan mencoba untuk meningkatkannya. Saya baru saja menulis Intisari untuk menjelaskan hal ini karena percakapan menjadi terlalu panjang untuk Twitter.

Menggunakan pg.connect adalah cara yang harus ditempuh dalam lingkungan web.

Server PostgreSQL hanya dapat menangani 1 kueri pada satu waktu per koneksi. Artinya jika Anda memiliki 1 global new pg.Client() terhubung ke backend Anda, seluruh aplikasi Anda terhambat berdasarkan seberapa cepat postgres dapat merespons kueri. Ini benar-benar akan mengatur semuanya, mengantre setiap kueri. Ya, ini asinkron dan tidak apa-apa...tapi bukankah Anda akan mengalikan throughput Anda dengan 10x? Gunakan pg.connect setelpg.defaults.poolSize untuk sesuatu yang waras (kami melakukan 25-100, belum yakin angka yang tepat).

new pg.Client adalah ketika Anda tahu apa yang Anda lakukan. Ketika Anda membutuhkan satu klien berumur panjang untuk beberapa alasan atau perlu mengontrol siklus hidup dengan sangat hati-hati. Contoh bagusnya adalah saat menggunakanLISTEN/NOTIFY . Klien yang mendengarkan harus ada dan terhubung dan tidak dibagikan sehingga dapat menangani NOTIFY pesan.Contoh lainnya adalah ketika membuka klien 1-off untuk membunuh sesuatu yang tergantung atau dalam skrip baris perintah.

Satu hal yang sangat membantu adalah memusatkan semua akses ke database Anda di aplikasi Anda ke satu file. Jangan buang sampah sembarangan pg.connect panggilan atau klien baru di seluruh. Memiliki file seperti db.js yang terlihat seperti ini:

module.exports = {
   query: function(text, values, cb) {
      pg.connect(function(err, client, done) {
        client.query(text, values, function(err, result) {
          done();
          cb(err, result);
        })
      });
   }
}

Dengan cara ini Anda dapat mengubah implementasi Anda dari pg.connect ke kumpulan klien khusus atau apa pun dan hanya perlu mengubah banyak hal di satu tempat.

Lihat modul node-pg-query yang melakukan hal ini.



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

  2. Bagaimana saya bisa mengekspor skema database di PostgreSQL?

  3. Bagaimana menginterpretasikan nilai PosgreSQL txid_current()

  4. Bagaimana cara membuat profil Database PostgreSQL?

  5. Resolusi milidetik dari DateTime di Ruby