reorder user-password-host-port-database appearences (#3207)

This commit is contained in:
Juan GP 2024-05-10 19:03:11 +02:00 committed by GitHub
parent 13ec7d106e
commit 0096856e2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 38 additions and 38 deletions

View File

@ -29,8 +29,8 @@ jobs:
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: ci_db_test
POSTGRES_HOST_AUTH_METHOD: 'md5'
POSTGRES_DB: ci_db_test
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
@ -50,8 +50,8 @@ jobs:
runs-on: ${{ matrix.os }}
env:
PGUSER: postgres
PGHOST: localhost
PGPASSWORD: postgres
PGHOST: localhost
PGDATABASE: ci_db_test
PGTESTNOSSL: 'true'
SCRAM_TEST_PGUSER: scram_test

View File

@ -13,8 +13,8 @@ type Config = {
user?: string, // default process.env.PGUSER || process.env.USER
password?: string or function, //default process.env.PGPASSWORD
host?: string, // default process.env.PGHOST
database?: string, // default process.env.PGDATABASE || user
port?: number, // default process.env.PGPORT
database?: string, // default process.env.PGDATABASE || user
connectionString?: string, // e.g. postgres://user:password@host:5432/database
ssl?: any, // passed directly to node.TLSSocket, supports all tls.connect options
types?: any, // custom type parsers
@ -34,11 +34,11 @@ import pg from 'pg'
const { Client } = pg
const client = new Client({
user: 'database-user',
password: 'secretpassword!!',
host: 'my.database-server.com',
port: 5334,
database: 'database-name',
user: 'database-user',
password: 'secretpassword!!',
})
```

View File

@ -31,10 +31,10 @@ To run the above program and specify which database to connect to we can invoke
```sh
$ PGUSER=dbuser \
PGHOST=database.server.com \
PGPASSWORD=secretpassword \
PGDATABASE=mydb \
PGHOST=database.server.com \
PGPORT=3211 \
PGDATABASE=mydb \
node script.js
```
@ -43,11 +43,11 @@ This allows us to write our programs without having to specify connection inform
The default values for the environment variables used are:
```
PGHOST=localhost
PGUSER=process.env.USER
PGDATABASE=process.env.USER
PGPASSWORD=null
PGHOST=localhost
PGPORT=5432
PGDATABASE=process.env.USER
```
## Programmatic
@ -60,20 +60,20 @@ const { Pool, Client } = pg
const pool = new Pool({
user: 'dbuser',
host: 'database.server.com',
database: 'mydb',
password: 'secretpassword',
host: 'database.server.com',
port: 3211,
database: 'mydb',
})
console.log(await pool.query('SELECT NOW()'))
const client = new Client({
user: 'dbuser',
host: 'database.server.com',
database: 'mydb',
password: 'secretpassword',
host: 'database.server.com',
port: 3211,
database: 'mydb',
})
await client.connect()
@ -106,11 +106,11 @@ const signer = new RDS.Signer()
const getPassword = () => signer.getAuthToken(signerOptions)
const pool = new Pool({
user: signerOptions.username,
password: getPassword,
host: signerOptions.hostname,
port: signerOptions.port,
user: signerOptions.username,
database: 'my-db',
password: getPassword,
})
```
@ -122,9 +122,9 @@ Connections to unix sockets can also be made. This can be useful on distros like
import pg from 'pg'
const { Client } = pg
client = new Client({
host: '/cloudsql/myproject:zone:mydb',
user: 'username',
password: 'password',
host: '/cloudsql/myproject:zone:mydb',
database: 'database_name',
})
```

View File

@ -22,10 +22,10 @@ var config = parse('postgres://someuser:somepassword@somehost:381/somedatabase')
The resulting config contains a subset of the following properties:
* `host` - Postgres server hostname or, for UNIX domain sockets, the socket filename
* `port` - port on which to connect
* `user` - User with which to authenticate to the server
* `password` - Corresponding password
* `host` - Postgres server hostname or, for UNIX domain sockets, the socket filename
* `port` - port on which to connect
* `database` - Database name within the server
* `client_encoding` - string encoding the client will use
* `ssl`, either a boolean or an object with properties

View File

@ -63,8 +63,8 @@ describe('parse', function () {
var sourceConfig = {
user: 'brian',
password: 'hello<ther>e',
port: 5432,
host: 'localhost',
port: 5432,
database: 'postgres',
}
var connectionString =
@ -86,8 +86,8 @@ describe('parse', function () {
var sourceConfig = {
user: 'brian',
password: 'hello:pass:world',
port: 5432,
host: 'localhost',
port: 5432,
database: 'postgres',
}
var connectionString =

View File

@ -32,10 +32,10 @@ var people = [
]
var con = new pg.Client({
host: args.host,
port: args.port,
user: args.user,
password: args.password,
host: args.host,
port: args.port,
database: args.database,
})

View File

@ -31,26 +31,26 @@ suite.test('default values are used in new clients', function () {
var client = new pg.Client()
assert.same(client, {
user: process.env.USER,
database: process.env.USER,
password: null,
port: 5432,
database: process.env.USER,
})
})
suite.test('modified values are passed to created clients', function () {
pg.defaults.user = 'boom'
pg.defaults.password = 'zap'
pg.defaults.database = 'pow'
pg.defaults.port = 1234
pg.defaults.host = 'blam'
pg.defaults.port = 1234
pg.defaults.database = 'pow'
var client = new Client()
assert.same(client, {
user: 'boom',
password: 'zap',
database: 'pow',
port: 1234,
host: 'blam',
port: 1234,
database: 'pow',
})
})

View File

@ -99,21 +99,21 @@ test('initializing from a config string', function () {
test('when not including all values the environment variables are used', function () {
var envUserDefined = process.env['PGUSER'] !== undefined
var envPasswordDefined = process.env['PGPASSWORD'] !== undefined
var envDBDefined = process.env['PGDATABASE'] !== undefined
var envHostDefined = process.env['PGHOST'] !== undefined
var envPortDefined = process.env['PGPORT'] !== undefined
var envDBDefined = process.env['PGDATABASE'] !== undefined
var savedEnvUser = process.env['PGUSER']
var savedEnvPassword = process.env['PGPASSWORD']
var savedEnvDB = process.env['PGDATABASE']
var savedEnvHost = process.env['PGHOST']
var savedEnvPort = process.env['PGPORT']
var savedEnvDB = process.env['PGDATABASE']
process.env['PGUSER'] = 'utUser1'
process.env['PGPASSWORD'] = 'utPass1'
process.env['PGDATABASE'] = 'utDB1'
process.env['PGHOST'] = 'utHost1'
process.env['PGPORT'] = 5464
process.env['PGDATABASE'] = 'utDB1'
var client = new Client('postgres://host1')
assert.equal(client.user, process.env['PGUSER'])

View File

@ -167,8 +167,8 @@ suite.testAsync('builds simple string', async function () {
var config = {
user: 'brian',
password: 'xyz',
port: 888,
host: 'localhost',
port: 888,
database: 'bam',
}
var subject = new ConnectionParameters(config)
@ -179,8 +179,8 @@ suite.testAsync('builds simple string', async function () {
var parts = constring.split(' ')
checkForPart(parts, "user='brian'")
checkForPart(parts, "password='xyz'")
checkForPart(parts, "port='888'")
checkForPart(parts, `hostaddr='${dnsHost}'`)
checkForPart(parts, "port='888'")
checkForPart(parts, "dbname='bam'")
resolve()
})
@ -191,8 +191,8 @@ suite.test('builds dns string', async function () {
var config = {
user: 'brian',
password: 'asdf',
port: 5432,
host: 'localhost',
port: 5432,
}
var subject = new ConnectionParameters(config)
const dnsHost = await getDNSHost(config.host)
@ -211,8 +211,8 @@ suite.test('error when dns fails', function () {
var config = {
user: 'brian',
password: 'asf',
port: 5432,
host: 'asdlfkjasldfkksfd#!$!!!!..com',
port: 5432,
}
var subject = new ConnectionParameters(config)
subject.getLibpqConnectionString(
@ -227,8 +227,8 @@ suite.test('connecting to unix domain socket', function () {
var config = {
user: 'brian',
password: 'asf',
port: 5432,
host: '/tmp/',
port: 5432,
}
var subject = new ConnectionParameters(config)
subject.getLibpqConnectionString(
@ -245,8 +245,8 @@ suite.test('config contains quotes and backslashes', function () {
var config = {
user: 'not\\brian',
password: "bad'chars",
port: 5432,
host: '/tmp/',
port: 5432,
}
var subject = new ConnectionParameters(config)
subject.getLibpqConnectionString(
@ -277,8 +277,8 @@ suite.test('password contains < and/or > characters', function () {
var sourceConfig = {
user: 'brian',
password: 'hello<ther>e',
port: 5432,
host: 'localhost',
port: 5432,
database: 'postgres',
}
var connectionString =
@ -333,8 +333,8 @@ suite.test('ssl is set on client', function () {
var sourceConfig = {
user: 'brian',
password: 'hello<ther>e',
port: 5432,
host: 'localhost',
port: 5432,
database: 'postgres',
ssl: {
sslmode: 'verify-ca',