gitzette / @levkk / Apr 13 – Apr 19 W16
← W15 W16 W17 →
gitzette.online — open-source digest Apr 13 – Apr 20, 2026
the dispatch
@levkk
plaintext passwords in config files: a rite of passage we're finally graduating from
2 commits 13 PRs merged 0 releases 4 repos Nine PRs to pgdog this week. Two of them were about advisory locks. The first one added detection. The second one realized we were detecting too much.
SECURITY

pgdog stops storing passwords like it's 2003

SCRAM hashes in users.toml mean your config file is no longer a liability.

For a pooler that speaks SCRAM to Postgres, pgdog had an awkward secret: it still wanted plaintext passwords in its own config. #908 finally closes that gap. Users can now store SCRAM hashes directly in users.toml, which means your config file no longer doubles as a credential dump. The change pairs with work in the scram library (pgdogdev/scram#4) to accept pre-hashed passwords. One less reason to keep your pooler config out of version control.

FEATURE

the advisory lock detector was a little too enthusiastic

Session locks matter. Transaction-scoped locks that auto-release? Not so much.

pgdogdev/pgdog

Advisory locks in Postgres come in two flavors: session locks that stick around until you explicitly release them, and transaction locks that vanish on commit. #903 added regex-based detection to catch when clients grab advisory locks — useful for a pooler that needs to know when a connection is "dirty." Problem was, it caught everything. #907 narrows the scope to session locks only, because tracking locks that auto-release is just busywork with extra state.

FEATURE

count(*) inside a CTE looked like a CTE to the parser

Regex strikes again: parentheses aren't always subqueries.

CTEs get special handling in pgdog — they affect routing decisions. The detection logic looks for WITH ... AS (...) patterns, which works great until someone writes count(*) inside a query and the parser sees those parentheses as a subquery. #893 fixes the false positive. The lesson, as always: if you're parsing SQL with regex, you're going to have a bad time eventually.

FEATURE

parallel copy now takes orders

Sometimes you want to override the automatic parallelism. Now you can.

pgdog's parallel COPY support is clever about spreading work across shards, but "clever" and "controllable" aren't the same thing. #896 adds an override mechanism so operators can explicitly set parallelism levels instead of trusting the heuristics. Useful when you know something about your workload that the pooler doesn't.

FEATURE

log throttling arrives before your disk fills up

When things go wrong, they go wrong repeatedly. Your logs don't need to reflect that.

A misbehaving client or a flapping upstream can turn your pooler logs into a firehose. #902 adds log throttling, so the same error message doesn't consume your entire disk while you're trying to diagnose the actual problem. The first occurrence still logs. The next thousand get summarized.

FEATURE

scram library learns to accept what it used to produce

Pre-hashed passwords close the loop on credential handling.

pgdogdev/scram

The scram library could generate SCRAM hashes, but it couldn't consume them — you still had to pass in the plaintext password. #4 adds support for accepting already-hashed passwords, which lets callers like pgdog store credentials without ever seeing the original secret. A small change that makes the whole authentication story coherent.

merged: #4
COMMUNITY

the docs now admit which drivers are going to hurt

Known issues, documented before you discover them in production.

pgdogdev/docs

Some client drivers have opinions about connection behavior that don't mesh well with poolers. #65 adds a known-issues section documenting the specific incompatibilities and workarounds. The kind of page you wish existed six hours ago.

merged: #65
COMMUNITY

the WebSocket docs finally match the WebSocket code

Documentation drift is a slow poison. This week it got an antidote.

rwf's WebSocket implementation had evolved past what the docs described. #79 corrects and expands the documentation to reflect reality. Separately, #81 fixes Nextest installation in CI — not glamorous, but tests that don't run aren't tests.

merged: #79#81
2
commits
13
pull requests
0
releases
commits by repo
REPO COMMITS rwf 2
github stars
pgdogdev/pgdog ★★★★★★★★★★ 4,303
rwf ★★☆☆☆☆☆☆☆☆ 1,060
pgdogdev/docs ☆☆☆☆☆☆☆☆☆ 5
continued2026-W16
the dispatch
FEATURE

log throttling arrives before your disk fills up

When things go wrong, they go wrong repeatedly. Your logs don't need to reflect that.

A misbehaving client or a flapping upstream can turn your pooler logs into a firehose. #902 adds log throttling, so the same error message doesn't consume your entire disk while you're trying to diagnose the actual problem. The first occurrence still logs. The next thousand get summarized.

FEATURE

scram library learns to accept what it used to produce

Pre-hashed passwords close the loop on credential handling.

pgdogdev/scram

The scram library could generate SCRAM hashes, but it couldn't consume them — you still had to pass in the plaintext password. #4 adds support for accepting already-hashed passwords, which lets callers like pgdog store credentials without ever seeing the original secret. A small change that makes the whole authentication story coherent.

merged: #4
COMMUNITY

the docs now admit which drivers are going to hurt

Known issues, documented before you discover them in production.

pgdogdev/docs

Some client drivers have opinions about connection behavior that don't mesh well with poolers. #65 adds a known-issues section documenting the specific incompatibilities and workarounds. The kind of page you wish existed six hours ago.

merged: #65
COMMUNITY

the WebSocket docs finally match the WebSocket code

Documentation drift is a slow poison. This week it got an antidote.

rwf's WebSocket implementation had evolved past what the docs described. #79 corrects and expands the documentation to reflect reality. Separately, #81 fixes Nextest installation in CI — not glamorous, but tests that don't run aren't tests.

merged: #79#81
2
commits
13
pull requests
0
releases
commits by repo
REPO COMMITS rwf 2
github stars
pgdogdev/pgdog ★★★★★★★★★★ 4,303
rwf ★★☆☆☆☆☆☆☆☆ 1,060
pgdogdev/docs ☆☆☆☆☆☆☆☆☆ 5
← Apr 6 – Apr 12
gitzette @levkk on gitzette @levkk on GitHub
share: post on X share on LinkedIn

Your GitHub week, turned into something worth reading.

Generate your dispatch →
gitzette.online  ·  2026 © AISlopMedia, Inc.