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

Menutup koneksi klien postgres (pg) di node.js

Antarmuka berbasis janji seperti pg-promise adalah cara untuk pergi:

var bluebird = require('bluebird');
var pgp = require('pg-promise')({
    promiseLib: bluebird
});
var db = pgp(/*connection details*/);

db.tx(t => {
    // BEGIN executed
    return t.map('SELECT id, chain FROM mytable where state_ready = $1 and transaction_id = $2', [true, 123], a => {
        var chain = data.chain;
        var pg_record = data.id;
        return t.none('UPDATE mytable SET transaction_id = $1::text where id=$2::int', [transactionHash, pg_record]);
    }).then(t.batch); // settling all internal queries
})
    .then(data => {
        // success, COMMIT executed
    })
    .catch(error => {
        // error, ROLLBACK executed
    })
    .finally(pgp.end); // shuts down the connection pool

Contoh di atas melakukan persis seperti yang Anda minta, ditambah lagi menggunakan transaksi. Tetapi pada kenyataannya Anda ingin melakukan semuanya dalam satu permintaan, untuk alasan kinerja;)

Lihat contoh lainnya .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan saat memuat pustaka bersama:libpq.so.5:tidak dapat membuka file objek bersama:Tidak ada file atau direktori seperti itu

  2. Bagaimana cara saya mewarisi hak istimewa peran?

  3. indeks cookie yang tidak ditentukan di beberapa browser

  4. Bagaimana cara saya masuk dan mengautentikasi ke Postgresql setelah instalasi baru?

  5. Mencampur gabungan eksplisit dan implisit gagal dengan Ada entri untuk tabel ... tetapi tidak dapat dirujuk dari bagian kueri ini