schangxiang@126.com
2025-09-18 49a51c068d62084bc4c3e77c4be94a20de556c4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
'use strict'
/**
 * 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.
 */
 
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/brianc/node-pg-pool
 
  // number of connections to use in connection pool
  // 0 will disable connection pooling
  max: 10,
 
  // max milliseconds a client can go unused before it is removed
  // from the pool and destroyed
  idleTimeoutMillis: 30000,
 
  client_encoding: '',
 
  ssl: false,
 
  application_name: undefined,
 
  fallback_application_name: undefined,
 
  parseInputDatesAsUTC: false,
 
  // max milliseconds any query using this connection will execute for before timing out in error.
  // false=unlimited
  statement_timeout: false,
 
  // max milliseconds to wait for query to complete (client side)
  query_timeout: false,
 
  connect_timeout: 0,
 
  keepalives: 1,
 
  keepalives_idle: 0
}
 
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)
})