PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Đóng kết nối ứng dụng khách postgres (pg) trong node.js

Giao diện dựa trên lời hứa như pg-promise là con đường để đi:

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

Ví dụ trên thực hiện chính xác những gì bạn yêu cầu, cộng với nó sử dụng một giao dịch. Nhưng trên thực tế, bạn sẽ muốn thực hiện tất cả trong một truy vấn, vì lý do hiệu suất;)

Xem các ví dụ khác .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể lưu trữ Euro-sign vào thuộc tính LOB String với Hibernate / PostgreSQL

  2. PostgreSQL sẽ không khởi động:server.key có quyền truy cập nhóm hoặc thế giới

  3. LỖI PostgreSQL:hủy tuyên bố do xung đột với khôi phục

  4. Rails Console tìm người dùng theo mảng id

  5. Python Postgres Cách tốt nhất để chèn dữ liệu từ bảng trên một DB sang một bảng khác trên một DB khác