finds.dev← search

// the find

brianc/node-postgres

★ 13,188 · JavaScript · MIT · updated Jul 2026

PostgreSQL client for node.js.

node-postgres is the de facto PostgreSQL client for Node.js, maintained by one person (brianc) for 15+ years. It ships as a monorepo of composable packages — raw client, pool, cursor, query streaming, protocol parser — so you take what you need. If you're writing Node apps against Postgres, you're almost certainly already using this.

The protocol implementation is a hand-rolled pure-JS parser (pg-protocol) that's consistently benchmarked as the fastest Node.js Postgres client. The native/JS API parity is genuinely useful — swap in libpq bindings with one line and everything else stays the same. pg-query-stream integrates with Node.js Streams properly, so large result sets don't blow your heap. The type coercion system is extensible without forking: register a custom parser per OID and you're done.

Single maintainer, 15 years in — the bus factor is real and the issue backlog shows it. There's no built-in query builder or migration support, which is fine philosophically but means you're always reaching for a second library (Kysely, Drizzle, etc.). Type definitions are available but the core packages are still plain JavaScript, so TypeScript users get types as an afterthought rather than a design constraint. The lerna/yarn workspaces monorepo setup is showing its age — bootstrapping for local development is more friction than it should be in 2025.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →