75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
/**
|
|
* Copyright (c) 2010-2017 Brian Carlson (brian.m.carlson@gmail.com)
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* README.md file in the root directory of this source tree.
|
|
*/
|
|
|
|
var defaults = module.exports = {
|
|
// database host. defaults to localhost
|
|
host: 'localhost',
|
|
|
|
//database user's name
|
|
user: process.platform === 'win32' ? process.env.USERNAME : process.env.USER,
|
|
|
|
//name of database to connect
|
|
database: process.platform === 'win32' ? process.env.USERNAME : process.env.USER,
|
|
|
|
//database user's password
|
|
password: null,
|
|
|
|
// a Postgres connection string to be used instead of setting individual connection items
|
|
// NOTE: Setting this value will cause it to override any other value (such as database or user) defined
|
|
// in the defaults object.
|
|
connectionString : undefined,
|
|
|
|
//database port
|
|
port: 5432,
|
|
|
|
//number of rows to return at a time from a prepared statement's
|
|
//portal. 0 will return all rows at once
|
|
rows: 0,
|
|
|
|
// binary result mode
|
|
binary: false,
|
|
|
|
//Connection pool options - see https://github.com/coopernurse/node-pool
|
|
//number of connections to use in connection pool
|
|
//0 will disable connection pooling
|
|
poolSize: 10,
|
|
|
|
//max milliseconds a client can go unused before it is removed
|
|
//from the pool and destroyed
|
|
poolIdleTimeout: 30000,
|
|
|
|
//frequency to check for idle clients within the client pool
|
|
reapIntervalMillis: 1000,
|
|
|
|
//if true the most recently released resources will be the first to be allocated
|
|
returnToHead: false,
|
|
|
|
//pool log function / boolean
|
|
poolLog: false,
|
|
|
|
client_encoding: "",
|
|
|
|
ssl: false,
|
|
|
|
application_name: undefined,
|
|
fallback_application_name: undefined,
|
|
|
|
parseInputDatesAsUTC: false
|
|
};
|
|
|
|
var pgTypes = require('pg-types');
|
|
// save default parsers
|
|
var parseBigInteger = pgTypes.getTypeParser(20, 'text');
|
|
var parseBigIntegerArray = pgTypes.getTypeParser(1016, 'text');
|
|
|
|
//parse int8 so you can get your count values as actual numbers
|
|
module.exports.__defineSetter__("parseInt8", function(val) {
|
|
pgTypes.setTypeParser(20, 'text', val ? pgTypes.getTypeParser(23, 'text') : parseBigInteger);
|
|
pgTypes.setTypeParser(1016, 'text', val ? pgTypes.getTypeParser(1007, 'text') : parseBigIntegerArray);
|
|
});
|