An open API service indexing awesome lists of open source software.

https://github.com/pasupulaphani/node-pg-connection-pool

Simplistic node postgres connection pool ready to scale
https://github.com/pasupulaphani/node-pg-connection-pool

database native-bindings-support pg-connection-pool postgres-connection-pool

Last synced: about 2 months ago
JSON representation

Simplistic node postgres connection pool ready to scale

Awesome Lists containing this project

README

          

[![npm version](https://badge.fury.io/js/node-pg-connection-pool.svg)](https://badge.fury.io/js/node-pg-connection-pool)
[![Build Status](https://travis-ci.org/pasupulaphani/node-pg-connection-pool.svg?branch=master)](https://travis-ci.org/pasupulaphani/node-pg-connection-pool)
[![Coverage Status](https://coveralls.io/repos/github/pasupulaphani/node-pg-connection-pool/badge.svg?branch=master)](https://coveralls.io/github/pasupulaphani/node-pg-connection-pool?branch=master)
[![Dependency Status](https://www.versioneye.com/user/projects/58780c851fe8e3003e7a83b2/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/58780c851fe8e3003e7a83b2)
[![Gratipay donate button](https://img.shields.io/badge/gratipay-donate-yellow.svg?style=flat-square)](https://gratipay.com/simple-redis-store/)

# node-pg-connection-pool [![See on Github](https://github.com/themes/tactile/images/octocat-icon.png)](https://github.com/pasupulaphani/node-pg-connection-pool)

Simplistic node postgres connection pool ready can scale with generic-pool support

## Prerequisites

```node >= 4``` This module requires nodejs v4 or above as it has dependencies on es6 components such as Map, Set, Promise etc.

### Getting started

```
npm install node-pg-connection-pool
```

#### Usage

- Seemless execution of commands.
```
var PgPool = require("node-pg-connection-pool");
var pool = new PgPool();

const result = await pool.query("SELECT $1::int AS number;", ["1"]);
```

- Want postgres raw connection? you got it
```
pool.acquire()
.then(client => {

// Do some work

// At the end release the conn back to the pool
pool.release(client)
});
```

#### API

- PgPool([options])

##### `options` object properties



Name
Type
Description




name

string


Name your pool





pgOptions

object


opts from node-postgres#client-parameters





pgNative

boolean


Use the native bindings. Install pg-native in your app before setting this to true.





poolOptions

object


opts from node-pool#createpool





logger

object


Inject your custom logger




### Run tests

sh test.sh

## Contribute

[Discover how you can contribute by heading on over to the `CONTRIBUTING.md` file.](https://github.com/pasupulaphani/node-pg-connection-pool/blob/master/CONTRIBUTING.md)

## Backers

### Maintainers

These amazing people are maintaining this project:

* [Phani](https://github.com/pasupulaphani) — [view contributions](https://github.com/pasupulaphani/node-pg-connection-pool/commits?author=pasupulaphani)

### Sponsors

No sponsors yet! Will you be the first?

[![Patreon donate button](https://img.shields.io/badge/patreon-donate-yellow.svg)](http://patreon.com/phaninder "Donate to this project using Patreon")
[![Gratipay donate button](https://img.shields.io/badge/gratipay-donate-yellow.svg)](https://gratipay.com/~pasupulaphani/ "Donate weekly to this project using Gratipay")
[![Flattr donate button](https://img.shields.io/badge/flattr-donate-yellow.svg)](https://flattr.com/profile/pasupulaphani "Donate to this project using Flattr")

Click here to lend your support to: simple-node-redis-cache and make a donation at pledgie.com !

### Contributors

These amazing people have contributed to/reviewed this project:

* [Oliver Brooks](https://github.com/oliverbrooks)

[Discover how you can contribute by heading on over to the `CONTRIBUTING.md` file.](https://github.com/pasupulaphani/node-pg-connection-pool/blob/master/CONTRIBUTING.md)



(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-57413413-7', 'auto');ga('send', 'pageview');
---