node-postgres/lib/defaults.js

75 lines
2.2 KiB
JavaScript
Raw Normal View History

/**
2017-05-18 05:47:07 +08:00
* 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 = {
2015-10-09 14:02:15 +08:00
// database host. defaults to localhost
host: 'localhost',
2010-11-21 04:09:18 +08:00
//database user's name
user: process.platform === 'win32' ? process.env.USERNAME : process.env.USER,
2010-11-21 04:09:18 +08:00
//name of database to connect
database: process.platform === 'win32' ? process.env.USERNAME : process.env.USER,
2010-11-21 04:09:18 +08:00
//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,
2010-11-21 04:09:18 +08:00
//database port
port: 5432,
2010-11-21 04:09:18 +08:00
//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
2010-11-21 04:09:18 +08:00
//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,
2015-10-09 14:02:15 +08:00
//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
2013-06-07 03:06:52 +08:00
poolLog: false,
client_encoding: "",
ssl: false,
2016-02-24 09:02:08 +08:00
application_name: undefined,
fallback_application_name: undefined,
parseInputDatesAsUTC: false
2013-01-21 21:54:19 +08:00
};
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);
});