postgresql-service
    TypeScript icon, indicating that this package has built-in type declarations

    5.0.1 • Public • Published

    postgresql-service

    A simple wrapper around node-pg

    GitHub license Build status Coverage Status

    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.

    Tagged templates

    You may like to use pgsqwell with this module.

    API

    initPGService(services) ⇒ Promise.<Object>

    Instantiate the pg service

    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

    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~query() ⇒ String | Object

    Executes the given query

    Kind: inner method of initPGService
    Returns: String - Query to executeObject - Arguments hash for the query
    Example

    const { rows, fields } = await pg.query(
       'SELECT * FROM users WHERE user = $$userId',
       { userId: 1 }
    );

    initPGService~queries() ⇒ Array.<String> | Object

    Executes the given queries in parallel (using the connections pool)

    Kind: inner method of initPGService
    Returns: Array.<String> - Queries to executeObject - Arguments hashes for the queries
    Example

    const [{ rows, fields }, { rows2, fields2 }] = await pg.queries([
       'SELECT * FROM users WHERE user = $$userId',
       'SELECT * FROM users WHERE user = $$userId',
    ], { userId: 1 });

    initPGService~transaction() ⇒ Array.<String> | Object

    Executes the given queries in a single transaction

    Kind: inner method of initPGService
    Returns: Array.<String> - Queries to executeObject - Arguments hashes for the queries
    Example

    const [, { rows, fields }] = await pg.transaction([
       'UPDATE users SET isActive = true WHERE user = $$userId',
       'SELECT * FROM users WHERE user = $$userId',
    ], { userId: 1 });

    Authors

    License

    MIT

    Install

    npm i postgresql-service

    DownloadsWeekly Downloads

    39

    Version

    5.0.1

    License

    MIT

    Unpacked Size

    77.5 kB

    Total Files

    17

    Last publish

    Collaborators

    • nfroidure