Convert environment variables into a usable postgres connection object or postgres uri
npm install pg-connection-from-envConvert environment variables into a usable postgres connection object or postgres uri
yarn add pg-connection-from-env
``ts
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"
`
| Argument | Description |
| ------------------ | ---------------------------------------------------------- |
| fallbackDefaults | Defaults if env does not provide host, database, user etc. |user
| | Override user with this |database
| | Override env database with this |env
| | Environment object to use instead of process.env |
The following environment variables are used (basically standard postgres env variables)
| Var Name | Description |
| ------------------------------------------------ | ------------------------------- |
| POSTGRES_HOST | Postgres Host |
| POSTGRES_PASS, POSTGRES_PASSWORD | Postgres Password |
| POSTGRES_DATABASE, POSTGRES_DB | Postgres Database |
| POSTGRES_USER, POSTGRES_USERNAME | Postgres User |
| POSTGRES_PORT | Postgres Port |
| POSTGRES_URI, POSTGRES_URL, PG_URI, DATABASE_URL | Postgres URI postgresql://...` |
| POSTGRES_SSL | If set, true |