pg-notify
v1.0.6
Published
Postgres pubsub client
Downloads
11,294
Maintainers
Readme
Postgres PubSub client using NOTIFY/LISTEN
Features
- Auto reconnect
- Payload size validation
- Channel and payload sanitization
Install
npm install pg-notifyyarn add pg-notifypnpm add pg-notifyUsage
PGPubSub accepts the same config as pg.
import PGPubSub from 'pg-notify'
//const PGPubSub = require('pg-notify')
;(async () => {
const pubsub = new PGPubSub({
connectionString: 'postgres://postgres:postgres@localhost:5432/db'
})
await pubsub.connect()
await pubsub.on('test', (payload) => {
console.log('payload: ', payload)
})
await pubsub.emit('test', 'this is the payload')
await pubsub.emit('test', { foo: 'bar' })
await pubsub.close()
})()API
new PubSub(options)
options(object) Configuration options for pg-notify pubsub instance. Accepts same options as pg with few custom ones described below.- reconnectMaxRetries (
number) Maximum number of reconnect attempts after losing connection. Pass0to disable reconnecting. Default:10. - maxPayloadSize (
number) Maximum payload size, exceeding given size will throw an error. Default:7999(In the default configuration it must be shorter than 8000 bytes.).
- reconnectMaxRetries (
emit(channel, payload)
channel(string)payload(stringorobject)
on(channel, listener)
channel(string)listener(functionaccepting single argumentpayload)
removeListener(listener)
listener(functionaccepting single argumentpayload)
close()
connect()
Contributing
Contributions, issues and feature requests are welcome!
License
Copyright © 2020 Aldis Ameriks. This project is MIT licensed.
