Waiting for PostgreSQL 20 – Add min() and max() aggregate support for uuid.
PostgreSQL 20 adds min() and max() aggregate functions for UUID type, enabling chronological queries with UUIDv7.
Hubert (depesz) Lubaczewski is a PostgreSQL expert and developer sharing practical tips on database management, query optimization, and tooling. His blog covers PostgreSQL performance, CSV handling, T-SQL formatting, and real-world database workflows.
44 articles from this blog
PostgreSQL 20 adds min() and max() aggregate functions for UUID type, enabling chronological queries with UUIDv7.
PostgreSQL 20 adds per-backend lock statistics with a new system function pg_stat_get_backend_lock() for detailed lock monitoring.
How to extract delete keys from explain.depesz.com plans posted via tools like curl, not web browsers.
Guide on adding Polish text search configuration to PostgreSQL, including future support in version 19.
PostgreSQL 19 adds CONCURRENTLY option to REPACK, reducing locks during table repacking by using replication slots and logical decoding.
PostgreSQL 19 introduces online enabling and disabling of data checksums without cluster downtime.
PostgreSQL 19 introduces new pg_get_*_ddl() functions to generate DDL for databases, roles, and tablespaces.
PostgreSQL 19 adds UPDATE/DELETE FOR PORTION OF for temporal tables, simplifying history management.
PostgreSQL 19 adds JSON format to COPY TO, enabling NDJSON-style export of query results and table data.
PostgreSQL 19 adds EXCEPT TABLE support to ALTER PUBLICATION for managing exclusion lists.
PostgreSQL 19 introduces pg_plan_advice, a module to stabilize or override planner decisions for query execution plans.
PostgreSQL 19 introduces the REPACK command, merging VACUUM FULL and CLUSTER functionality to combat table bloat.
PostgreSQL 19 will allow excluding specific tables from logical replication publications using the new EXCEPT TABLE syntax.
PostgreSQL 19 adds non-text output formats to pg_dumpall, enabling parallel restore and selective database restoration from cluster-wide backups.
Explains how to display PostgreSQL timestamps with a specific timezone offset, including a custom function solution.
A developer creates a simple, AI-assisted Node.js tool for automatically loading CSV files into PostgreSQL with minimal configuration.
Author details a fix for suboptimal indentation in complex SQL join conditions within the paste.depesz.com query pretty-printer.
A technical analysis measuring the performance impact of adding indexes on write operations (COPY) in PostgreSQL, showing slowdowns and size overhead.
PostgreSQL 19 introduces new ALTER TABLE commands to MERGE and SPLIT partitions, with initial single-process, locked implementations.
A technical analysis comparing PostgreSQL JSON storage options, compression methods (pglz vs. lz4), and performance optimizations.