OSS探訪GitHubでログイン

Node.jsからPostgreSQLへpool・parameterized query・LISTEN/NOTIFYまで直接接続する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
13,218
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

node-postgresはNode.js向けPostgreSQL client群で、中心packageのpgはpure JavaScript clientとoptional native libpq bindingを同じAPIで提供します。connection pooling、parameterized query、prepared statement、LISTEN/NOTIFY、COPY等を扱えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Poolとparameterized queryでPostgreSQL accessを組み立てる

pgとpg-poolを使い、connection poolからqueryを実行できます。parameterized queryを使うことで値をSQL文字列へ直接連結せず送信できます。

出典:[1][2]

prepared statement・LISTEN/NOTIFY・COPY等のPostgreSQL機能を利用する

named statementによるquery plan caching、async notification、COPY import/export、data type coercion等を提供し、ORMを介さずPostgreSQL機能へ近いAPIを使えます。

出典:[1]

向いている用途

Next.jsのNode runtimeやbackend serviceでPostgreSQLを直接扱いたい場合に向く

ORMより低いlevelでSQLとconnection poolを制御したいNode.js backendに適します。Bun、Deno、Cloudflare等への対応コードもmonorepoで扱われています。

出典:[1][2]

導入前の確認

serverlessではpool lifecycleとconnection上限を明示的に設計する

requestごとに新しいpoolを作るとdatabase connectionを過剰消費します。Next.js/serverlessではmodule scope reuse、provider側pooler、transaction要件を含めてconnection strategyを決めてください。

出典:[1]

現行pg 8.23.1はNode 16以上を要求する

current masterのpg package metadataはversion 8.23.1、Node.js 16以上をenginesに指定しています。利用するNode runtimeとoptional native bindingの要件を合わせて確認してください。

出典:[2]

参考にした公式資料

  1. [1]node-postgres README(2026-10-06)
  2. [2]pg 8.23.1 package metadata(2026-10-06)
  3. [3]node-postgres MIT license(2026-10-06)
編集部からの補足

ORMより低levelでPostgreSQL接続を制御したいNode.js backendに向きます。Next.js/serverlessではpool reuseとconnection上限を必ず設計してください。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/brianc/node-postgres.git
  2. 2

    リポジトリへ移動

    cd node-postgres
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

13,218 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
10
Open PR
89

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • postgresql
  • postgresql-driver
  • node-postgres
  • postgres
  • libpq
Stars
13,218
Forks
1,357
Watchers
179
Open Issues
451
Contributors
335
所有者種別
User
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?