postgresql-client
Professional PostgreSQL client written in TypeScript.
Features
- Pure JavaScript library completely written in TypeScript
- Both single connection and advanced pooling support
- Named Prepared Statements
- Extended cursor support with fast double-link cache
- Extensible data-types and type mapping
- Extended bind parameters
- Multidimensional arrays with fast binary encoding/decoding
- Low memory utilization and boosted performance with Shared Buffers
- Full binary and text wire protocol support for all data types
- Supports Clear text, MD5 and SASL password algorithms
- Can return both array and object rows
- Asynchronous Promise based api
- Strictly typed
- Supports both CommonJS and ESM module systems
Installation
$ npm install postgresql-client --save
Documentation
Please read :small_orange_diamond: DOCUMENTATION :small_orange_diamond: for detailed usage.
Example usage
Establish a single connection, execute a simple query
import {Connection} from 'postgresql-client';
const connection = new Connection('postgres://localhost');
await connection.connect();
const result = await connection.query(
'select * from cities where name like $1',
{params: ['%york%']});
const rows = result.rows;
await connection.close();
Establish a pooled connection, create a cursor
import {Pool} from 'postgresql-client';
const db = new Pool({
host: 'postgres://localhost',
pool: {
min: 1,
max: 10,
idleTimeoutMillis: 5000
}
});
const result = await db.query(
'select * from cities where name like $1',
{params: ['%york%'], cursor: true});
const cursor = result.cursor;
let row;
while ((row = cursor.next())) {
console.log(row);
}
await db.close();
Support
You can report bugs and discuss features on the GitHub issues page
When you open an issue please provide version of NodeJS and PostgreSQL server.
Node Compatibility
License
postgresql-client is available under MIT license.