The Wire · Showcase
POSTGRES GETS CONTAINER-NATIVE LOGGING, CLI PORTS GO FULL TYPESCRIPT
By RepoJournal · Filed · About Supabase
Supabase shipped the infrastructure to run Postgres in containers properly: jsonlog output and proper signal handling, while the CLI finishes its migration away from Go binaries.
The postgres team landed two critical ops improvements [1] [2]. They're switching to jsonlog format to make log parsing at scale feasible for Logflare, and symlinking the log destination to /proc/1/fd/1 so container orchestrators actually see what Postgres is doing. They also hardened pgBackRest backup config [2] with tighter sudo scope and consistent ownership semantics, keeping the attack surface minimal. Meanwhile, the CLI team finished porting backups and SSL enforcement commands from Go to native TypeScript [3] [4], with byte-identical output on the wire and full parity on error handling. They also fixed a footgun where env() variable interpolation in config.toml would crash on numeric fields [5], and quietly raised CPU baseline targets so the binary doesn't throw illegal-instruction errors on older x64 hardware [6]. One more thing: realtime discovered tenants running on Postgres 14.1 and found a real incompatibility in broadcast_changes that fails on PG <=14.5 [7], so the team is tightening test coverage there.
Action items
- → Update your postgres image if you're parsing logs with Logflare - the jsonlog + symlink change unlocks proper container visibility supabase/postgres [plan]
- → Regenerate CLI binaries - x64 baseline CPU support means your Linux/Windows users on older hardware will stop hitting illegal instruction errors supabase/cli [immediate]
- → Test your realtime deployments if you're still on Postgres 14.1-14.5 - broadcast_changes has a known incompatibility supabase/realtime [monitor]
References
- [1] feat(multigres): use jsonlog and symlink to fd/1 ↗ supabase/postgres
- [2] feat: additional config for pgbackrest ↗ supabase/postgres
- [3] feat(cli): port ssl-enforcement to native TypeScript ↗ supabase/cli
- [4] feat(cli): port backups list and restore to native TypeScript ↗ supabase/cli
- [5] fix(config): interpolate env() refs before schema decode ↗ supabase/cli
- [6] fix(cli): support older x64 CPUs ↗ supabase/cli
- [7] chore: test pg14 ↗ supabase/realtime
FAQ
- What changed in Supabase on May 23, 2026?
- Supabase shipped the infrastructure to run Postgres in containers properly: jsonlog output and proper signal handling, while the CLI finishes its migration away from Go binaries.
- What should Supabase teams do about it?
- Update your postgres image if you're parsing logs with Logflare - the jsonlog + symlink change unlocks proper container visibility • Regenerate CLI binaries - x64 baseline CPU support means your Linux/Windows users on older hardware will stop hitting illegal instruction errors • Test your realtime deployments if you're still on Postgres 14.1-14.5 - broadcast_changes has a known incompatibility
- Which Supabase repositories shipped on May 23, 2026?
- supabase/postgres, supabase/cli, supabase/realtime