Switch to using pg.Pool

This commit is contained in:
John Crepezzi 2020-10-06 20:58:33 -04:00
parent 9a692ed652
commit f147acb51c

View File

@ -1,14 +1,16 @@
/*global require,module,process*/
var winston = require('winston');
const {Client} = require('pg');
const {Pool} = require('pg');
// create table entries (id serial primary key, key varchar(255) not null, value text not null, expiration int, unique(key));
// A postgres document store
var PostgresDocumentStore = function (options) {
this.expireJS = options.expire;
this.connectionUrl = process.env.DATABASE_URL || options.connectionUrl;
const connectionString = process.env.DATABASE_URL || options.connectionUrl;
this.pool = new Pool({connectionString});
};
PostgresDocumentStore.prototype = {
@ -64,20 +66,15 @@ PostgresDocumentStore.prototype = {
// A connection wrapper
safeConnect: function (callback) {
const client = new Client({connectionString: this.connectionUrl});
const connectionPromise = client.connect();
const done = () => {};
connectionPromise.then(() => {
callback(undefined, client, done);
}).catch((error) => {
console.log(error);
this.pool.connect((err, client, done) => {
if (err) {
winston.error('error connecting to postgres', {error});
callback(error);
} else {
callback(undefined, client, done);
}
});
}
};
module.exports = PostgresDocumentStore;