Drop the pooler from the MVP: point everything straight at Postgres

.env.example and the README still told people to use pgCat on :6432, the
exact setup that hangs on every parameterised query. With no prod and one
backend instance there is nothing for a pooler to multiplex, and
postgres-js already pools in-process, so DATABASE_URL now points at
Postgres on :5432 in .env.example, dev-env.sh and drizzle.config.ts.

prepare:false is kept in src/db/index.ts on purpose, so adding
PgBouncer later (tested working) is a config change rather than a code
change. The long measurement narrative in that file's comment is cut to
the decision and the pointer to PLAN.md, where the numbers now live.
This commit is contained in:
2026-10-20 10:24:19 +00:00
parent a9aec03d47
commit c312e37b4a
6 changed files with 21 additions and 36 deletions
+3 -4
View File
@@ -35,10 +35,9 @@ cd "$REPO_ROOT"
PG_VERSION=16
PG_PORT=5432
VALKEY_PORT=6379
# Straight at Postgres, not pgCat: .env.example points at the pooler for
# production, and neither backend here runs one. Keep it that way even where a
# pooler is reachable - parameterised queries from postgres-js hang through
# pgCat 1.2.0, and drizzle-kit cannot migrate through it. See src/db/index.ts.
# Straight at Postgres: there is no pooler for the MVP. Do not point this at
# pgCat even where one is reachable - parameterised queries from postgres-js
# hang through 1.2.0. See src/db/index.ts.
DEV_DATABASE_URL="postgres://continuum:continuum@localhost:${PG_PORT}/continuum"
DEV_VALKEY_URL="redis://localhost:${VALKEY_PORT}"