Asayomu Tech
注目★★★★★Hacker News

Postgres コネクションプーラー PgDog、SET コマンドと LISTEN/NOTIFY をネイティブサポート

30秒で把握

  • 1PgDog が既存プーラーの「漏れた抽象化」を解決・SET と LISTEN/NOTIFY をネイティブサポート
  • 2SQL パーサーで接続状態を管理・RLS やセッション変数を安全に扱える・トランザクションモード対応
  • 3Tokio マルチスレッド実装で複数 CPU 活用・秒間 200 万クエリプーリング・1 年以上本番運用

要約

開発チーム PgDog は既存コネクションプーラー (PgBouncer・RDS Proxy など) が持つ「漏れた抽象化」を解決する新しい Postgres プーラーを構築した。PgDog は SQL パーサーで SET ステートメントを検出・クライアント側で状態を管理し、RLS やセッション変数を安全に扱える。さらに LISTEN/NOTIFY の pub/sub 機能を保持し、トランザクションモードでもメッセージ配信が動作する。Tokio ベースのマルチスレッド実装により、複数 CPU で効率よく接続を多重化でき、オートスケーリング待機なしに突発的なクエリバーストに対応する。本番環境で 1 年以上運用され、秒間 200 万クエリをプールしている。

あなたへの影響

既にプロダクション運用中なため、PgBouncer からの移行を検討するなら検証コストは相対的に低い。

推奨:SET コマンドや LISTEN/NOTIFY を多用する既存 PostgreSQL アプリであれば、機能互換性の向上が接続管理の負担を軽減する可能性がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。