Skip to main content
Deno 2 is finally here 🎉️
Learn more

pgc4d - PostgreSQL client for Deno

release ci deno doc license

A full-featured PostgreSQL client for Deno including support for:

  • Connectivity using TCP, SSL* and Unix domain sockets*
  • Buffered and streaming responses
  • Various shapes of result sets (keyed rows, indexed rows, column, etc.)
  • Asynchronous notifications (using LISTEN and NOTIFY)
  • Arrays, record types and user-defined types (enums)
  • Concurrent queries (queueing)

(* currently requires --unstable in Deno)

Usage

import { connectPg } from 'https://deno.land/x/pgc4d/src/mod.ts'

const db = await connectPg('postgres://username:password@hostname/database')
try {
    const result = await db.query('SELECT $1::int + $2::int sum', [10, 20])
    assertEquals(result.rows[0].sum, 30)
} finally {
    db.close()
}

Documentation

API documentation

Manual

Contributing

Happy to accept fixes and improvements.

  1. Please add tests for added functionality and ensure CI passes.
  2. Follow the prevalent coding style (no semicolons, no 80-char line limit, single quotes, etc.)

You can use Docker to bring up PostgreSQL and run the tests:

$ docker-compose run ci

License

Licensed under the MIT license.