|
| 1 | +# node-postgres |
| 2 | + |
| 3 | +[](http://travis-ci.org/brianc/node-postgres) |
| 4 | +[](https://david-dm.org/brianc/node-postgres) |
| 5 | +<span class="badge-npmversion"><a href="https://npmjs.org/package/pg" title="View this project on NPM"><img src="https://img.shields.io/npm/v/pg.svg" alt="NPM version" /></a></span> |
| 6 | +<span class="badge-npmdownloads"><a href="https://npmjs.org/package/pg" title="View this project on NPM"><img src="https://img.shields.io/npm/dm/pg.svg" alt="NPM downloads" /></a></span> |
| 7 | + |
| 8 | +Non-blocking PostgreSQL client for Node.js. Pure JavaScript and optional native libpq bindings. |
| 9 | + |
| 10 | +## Monorepo |
| 11 | + |
| 12 | +This repo is a monorepo which contains the core [pg](https://github.com/brianc/node-postgres) module as well as a handful of related modules. |
| 13 | + |
| 14 | +- [pg-cursor](https://github.com/brianc/node-postgres/tree/master/packages/pg-cursor) |
| 15 | + |
| 16 | + |
| 17 | +## Documenation |
| 18 | + |
| 19 | +Each package in this repo should have it's own readme more focused on how to develop/contribute. For overall documentation on the project and the related modules managed by this repo please see: |
| 20 | + |
| 21 | +### :star: [Documentation](https://node-postgres.com) :star: |
| 22 | + |
| 23 | +### Features |
| 24 | + |
| 25 | +* Pure JavaScript client and native libpq bindings share _the same API_ |
| 26 | +* Connection pooling |
| 27 | +* Extensible JS ↔ PostgreSQL data-type coercion |
| 28 | +* Supported PostgreSQL features |
| 29 | + * Parameterized queries |
| 30 | + * Named statements with query plan caching |
| 31 | + * Async notifications with `LISTEN/NOTIFY` |
| 32 | + * Bulk import & export with `COPY TO/COPY FROM` |
| 33 | + |
| 34 | +### Extras |
| 35 | + |
| 36 | +node-postgres is by design pretty light on abstractions. These are some handy modules we've been using over the years to complete the picture. |
| 37 | +The entire list can be found on our [wiki](https://github.com/brianc/node-postgres/wiki/Extras). |
| 38 | + |
| 39 | +## Support |
| 40 | + |
| 41 | +node-postgres is free software. If you encounter a bug with the library please open an issue on the [GitHub repo](https://github.com/brianc/node-postgres). If you have questions unanswered by the documentation please open an issue pointing out how the documentation was unclear & I will do my best to make it better! |
| 42 | + |
| 43 | +When you open an issue please provide: |
| 44 | +- version of Node |
| 45 | +- version of Postgres |
| 46 | +- smallest possible snippet of code to reproduce the problem |
| 47 | + |
| 48 | +You can also follow me [@briancarlson](https://twitter.com/briancarlson) if that's your thing. I try to always announce noteworthy changes & developments with node-postgres on Twitter. |
| 49 | + |
| 50 | +### Professional Support |
| 51 | + |
| 52 | +I offer professional support for node-postgres. I provide implementation, training, and many years of expertise on how to build applications with Node, Express, PostgreSQL, and React/Redux. Please contact me at [brian.m.carlson@gmail.com](mailto:brian.m.carlson@gmail.com) to discuss how I can help your company be more successful! |
| 53 | + |
| 54 | +### Sponsorship :star: |
| 55 | + |
| 56 | +[If you or your company are benefiting from node-postgres and would like to help keep the project financially sustainable please consider supporting](https://github.com/sponsors/brianc) to its development. |
| 57 | + |
| 58 | +Also, you can view a historical list of all [previous and existing sponsors](https://github.com/brianc/node-postgres/blob/master/SPONSORS.md). |
| 59 | + |
| 60 | +## Contributing |
| 61 | + |
| 62 | +__:heart: contributions!__ |
| 63 | + |
| 64 | +I will __happily__ accept your pull request if it: |
| 65 | +- __has tests__ |
| 66 | +- looks reasonable |
| 67 | +- does not break backwards compatibility |
| 68 | + |
| 69 | +If your change involves breaking backwards compatibility please please point that out in the pull request & we can discuss & plan when and how to release it and what type of documentation or communicate it will require. |
| 70 | + |
| 71 | +## Troubleshooting and FAQ |
| 72 | + |
| 73 | +The causes and solutions to common errors can be found among the [Frequently Asked Questions (FAQ)](https://github.com/brianc/node-postgres/wiki/FAQ) |
| 74 | + |
| 75 | +## License |
| 76 | + |
| 77 | +Copyright (c) 2010-2019 Brian Carlson (brian.m.carlson@gmail.com) |
| 78 | + |
| 79 | + Permission is hereby granted, free of charge, to any person obtaining a copy |
| 80 | + of this software and associated documentation files (the "Software"), to deal |
| 81 | + in the Software without restriction, including without limitation the rights |
| 82 | + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| 83 | + copies of the Software, and to permit persons to whom the Software is |
| 84 | + furnished to do so, subject to the following conditions: |
| 85 | + |
| 86 | + The above copyright notice and this permission notice shall be included in |
| 87 | + all copies or substantial portions of the Software. |
| 88 | + |
| 89 | + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 90 | + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 91 | + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| 92 | + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| 93 | + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| 94 | + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
| 95 | + THE SOFTWARE. |
0 commit comments