A simple wrapper around `node-pg`
npm install postgresql-service[//]: # ( )
[//]: # (This file is automatically generated by a metapak)
[//]: # (module. Do not change it except between the)
[//]: # (content:start/end flags, your changes would)
[//]: # (be overridden.)
[//]: # ( )
node-pg
[//]: # (::contents:start)
This simple service covers my own usage of the pg module. I only use
transactions and queries and I use dependency injection with
Knifecycle.
It also sets up a few tweaks I have to do for each projects like avoiding to
mess up with dates.
You may like to use pgsqwell with this
module.
[//]: # (::contents:end)
Promise.<Object>Kind: global function
Returns: Promise.<Object> - A promise of the pg service
| Param | Type | Description |
| --- | --- | --- |
| services | Object | The services to inject |
| [services.log] | function | A logging function |
| [services.PG_URL_ENV_NAME] | Object | The environment variable name in which to pick-up the PG url |
| [services.ENV] | Object | An environment object |
| services.PG | Object | A pg compatible configuration object |
Example
``js
import initPGService from 'postgresql-service';
const { service: pg, dispose } = await initPGService({
log: console.log.bind(console),
ENV: process.env, // Proxy the PG_URL env var
});
const result = pg.query('SELECT 1');
await dispose();
`
* initPGService(services) ⇒ Promise.<Object>
* ~query() ⇒ String \| Object
* ~queries() ⇒ Array.<String> \| Object
* ~transaction() ⇒ Array.<String> \| Object
Kind: inner method of initPGService
Returns: String - Query to executeObject - Arguments hash for the query
Example
`js`
const { rows, fields } = await pg.query(
'SELECT * FROM users WHERE user = $$userId',
{ userId: 1 }
);
Kind: inner method of initPGService
Returns: Array.<String> - Queries to executeObject - Arguments hashes for the queries
Example
`js`
const [{ rows, fields }, { rows2, fields2 }] = await pg.queries([
'SELECT * FROM users WHERE user = $$userId',
'SELECT * FROM users WHERE user = $$userId',
], { userId: 1 });
Kind: inner method of initPGService
Returns: Array.<String> - Queries to executeObject - Arguments hashes for the queries
Example
`js``
const [, { rows, fields }] = await pg.transaction([
'UPDATE users SET isActive = true WHERE user = $$userId',
'SELECT * FROM users WHERE user = $$userId',
], { userId: 1 });