mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
47 lines
1.6 KiB
JavaScript
47 lines
1.6 KiB
JavaScript
// Adapted from the documentation of https://github.com/brianc/node-postgres,
|
|
// which is licensed under the MIT license; see file node-postgres-LICENSE.
|
|
const pgPool = require('pg-pool');
|
|
|
|
// create a config to configure both pooling behavior
|
|
// and client options
|
|
// note: all config is optional and the environment variables
|
|
// will be read if the config is not present
|
|
var config = {
|
|
user: 'foo', //env var: PGUSER
|
|
database: 'my_db', //env var: PGDATABASE
|
|
password: 'secret', //env var: PGPASSWORD
|
|
host: 'localhost', // Server hosting the postgres database
|
|
port: 5432, //env var: PGPORT
|
|
max: 10, // max number of clients in the pool
|
|
idleTimeoutMillis: 30000, // how long a client is allowed to remain idle before being closed
|
|
};
|
|
|
|
//this initializes a connection pool
|
|
//it will keep idle connections open for 30 seconds
|
|
//and set a limit of maximum 10 idle clients
|
|
const pool = new pgPool(config);
|
|
|
|
pool.connect(function(err, client, done) {
|
|
if(err) {
|
|
return console.error('error fetching client from pool', err);
|
|
}
|
|
|
|
//use the client for executing the query
|
|
client.query('SELECT $1::int AS number', ['1'], function(err, result) {
|
|
//call `done(err)` to release the client back to the pool (or destroy it if there is an error)
|
|
done(err);
|
|
|
|
if(err) {
|
|
return console.error('error running query', err);
|
|
}
|
|
console.log(result.rows[0].number);
|
|
//output: 1
|
|
});
|
|
});
|
|
|
|
let client2 = await pool.connect();
|
|
client2.query('SELECT 123');
|
|
|
|
const Cursor = require('pg-cursor');
|
|
client2.query(new Cursor('SELECT * from users'));
|