1.1.0 • Published 1 year ago

pg-connection-from-env v1.1.0

Weekly downloads
-
License
-
Repository
github
Last release
1 year ago

pg-connection-from-env

Convert environment variables into a usable postgres connection object or postgres uri

Installation

yarn add pg-connection-from-env

Usage

import getPgConnectionFromEnv, {
  getConnectionStringFromEnv,
} from "pg-connection-from-env"

getPgConnectionFromEnv()
// {
//   host: 'localhost',
//   user: 'postgres',
//   port: 5432,
//   password: '',
//   database: 'postgres',
//   ssl: false
// }

getPgConnectionFromEnv({
  fallbackDefaults: {
    user: "userifenvdoesntprovide",
    database: "databaseifenvdoesntprovide",
  },
})
// {
//  host: 'localhost',
//  user: 'userifenvdoesntprovide',
//  port: 5432,
//  password: '',
//  database: 'databaseifuserdoesntprovide',
//  ssl: false
// }

getConnectionStringFromEnv(/* same args as getPgConnectionFromEnv */)
// "postgresql://postgres:@localhost:5432/postgres"

Arguments

ArgumentDescription
fallbackDefaultsDefaults if env does not provide host, database, user etc.
userOverride user with this
databaseOverride env database with this
envEnvironment object to use instead of process.env

Environment Variables

The following environment variables are used (basically standard postgres env variables)

Var NameDescription
POSTGRES_HOSTPostgres Host
POSTGRES_PASS, POSTGRES_PASSWORDPostgres Password
POSTGRES_DATABASE, POSTGRES_DBPostgres Database
POSTGRES_USER, POSTGRES_USERNAMEPostgres User
POSTGRES_PORTPostgres Port
POSTGRES_URI, POSTGRES_URL, PG_URI, DATABASE_URLPostgres URI postgresql://...
POSTGRES_SSLIf set, true