#​526 — October 18, 2023

Web Version

Together with  EdgeDB

Postgres Weekly

Working with Money in Postgres — Did you know Postgres has a money type? Elizabeth doesn’t recommend it though, and looks at some alternative approaches. There’s also a live environment if you want to play with the ideas raised in the post in your browser.

Elizabeth Christensen (Crunchy Data)

PostgresqlCO.NF: Postgres Config Settings for Humans — A helpful online reference guide to Postgres’ various parameters from basics like log_statement and application_name, through to things recently added in v16 like createrole_self_grant and debug_parallel_query.

OnGres, Inc.

Strongly Typed and in the ⛅: Meet EdgeDB 4.0 — EdgeDB is an open-source database focused on developer experience. It features a high-level, modern data model, integrated schema migrations, and a TypeScript query builder that makes it easy to write advanced, fast queries, putting ORMs to shame.

EdgeDB sponsor

How to Reduce Your Postgres Database Size — Being on the Timescale blog, this articles does lean towards Timescale-specific features in a few places, but also explains broad, general concepts like pages, tuples, dead tuples, and table bloat, and mitigations for some common database size problems.

Paulus and Soto (Timescale)

IN BRIEF:

Killing Long Running Queries — Long running queries are rarely welcome, but it's possible to detect and terminate them. statement_timeout can also be used to automatically remove them after a certain period of time.

Hans-Jürgen Schönig

Using Vim As My Postgres Client — Through piping a file into psql.

Thomas Stringer

Watch 5 Mins of Postgres: Weekly Postgres Videos by pganalyze

pganalyze sponsor

Easy Email Tokens in Pure Postgres
Taylor Troesh

Code and Tools

Postgres.js 3.4: Fast, Full-Featured Postgres Client for JavaScript Platforms — Now working with several JavaScript platforms (Node, Deno, Bun, and, as of this release, Cloudflare), this high performance Postgres library offers realtime change subscription, dynamic query building via special template literals, high availability support via multi-host connection URLs, async cursors, and more.

Rasmus Porsager

PgBouncer: Lightweight Connection Pooler for Postgres — Despite being v1.21.0, this is a significant release as it adds support for protocol-level named prepared statements (more on how that works.)

PgBouncer

pg_yregress: TAP-Compatible Test Execution — A TAP-compatible test executor that allows for better test organization and tool standardization (versus pg_regress where psql sessions are run and the tests are implemented by comparing expected and actual output on stdout).

Omnigres

SQLite Foreign Data Wrapper for Postgres v2.4 — Requires a Linux or POSIX-compliant system, but now supports Postgres 16 and works with SQLite 3.42.0.

PGSpider

GatewayD: Like an API Gateway, But for Databases — An L4 proxy for SQL databases and clients so you can extend things with plugins (self written or community provided), observability and connection pooling. Postgres only for now, built in Go, and AGPL licensed.

GatewayD Labs

  • JSONb Accessor 1.4 – Adds typed JSONB backed fields to ActiveRecord models in Ruby on Rails.

  • pgRoll 0.3 – Zero-downtime migrations made easy for Postgres 14+.

  • Que 2.3 – Ruby job queue that uses Postgres advisory locks.

  • pgrx 0.11 – A way to build Postgres extensions with Rust.