# select \* from depesz;

Published articles for select \* from depesz;.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## New things for regular expressions in PostgreSQL (pg\_tre and pg\_re2)

DevFeed: [New things for regular expressions in PostgreSQL (pg\_tre and pg\_re2)](<https://devfeed.tech/articles/new-things-for-regular-expressions-in-postgresql-pg-tre-and-pg-re2-33694.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/08/25/new-things-for-regular-expressions-in-postgresql-pg_tre-and-pg_re2/>)

Author: depesz

Published: 2026-08-25T18:41:53Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [expression](<https://devfeed.tech/tags/expression.md>), [extension](<https://devfeed.tech/tags/extension.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [pg-re2](<https://devfeed.tech/tags/pg-re2.md>), [pg-tre](<https://devfeed.tech/tags/pg-tre.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [re2](<https://devfeed.tech/tags/re2.md>), [regexp](<https://devfeed.tech/tags/regexp.md>), [regular](<https://devfeed.tech/tags/regular.md>), [regular-expressions](<https://devfeed.tech/tags/regular-expressions.md>), [test-data](<https://devfeed.tech/tags/test-data.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This article compares PostgreSQL regular-expression approaches using pg_tre and pg_re2 against built-in matching and pg_trgm. Tests on a large table of query plans find that pg_tre is slower than pg_trgm for exact substring searches but supports fuzzy matching, while pg_re2 performs faster than the tested built-in scan. The author notes that both extensions have limitations and rough edges.

### Source excerpt

Well, truth be told these are not all that new (couple of months), but I finally have gotten around to research it. So, let's see what's what. For starters I need some test data. Luckily, I have explain.depesz.com DB... Extracted all plans to side table, with this structure: =$ \d all_plans Table "public.all_plans" Column | ... Continue reading "New things for regular expressions in PostgreSQL (pg_tre and pg_re2)"

## Waiting for PostgreSQL 19 - SQL Property Graph Queries (SQL/PGQ)

DevFeed: [Waiting for PostgreSQL 19 - SQL Property Graph Queries (SQL/PGQ)](<https://devfeed.tech/articles/waiting-for-postgresql-19-sql-property-graph-queries-sql-pgq-33693.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/07/31/waiting-for-postgresql-19-sql-property-graph-queries-sql-pgq/>)

Author: depesz

Published: 2026-07-31T16:57:44Z

Content type: opinion

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [function](<https://devfeed.tech/topics/function.md>), [pattern matching](<https://devfeed.tech/topics/pattern-matching.md>)

Tags: [function](<https://devfeed.tech/tags/function.md>), [graph](<https://devfeed.tech/tags/graph.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [pattern-matching](<https://devfeed.tech/tags/pattern-matching.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [pgq](<https://devfeed.tech/tags/pgq.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [property](<https://devfeed.tech/tags/property.md>), [sql](<https://devfeed.tech/tags/sql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article discusses PostgreSQL's SQL/PGQ implementation for property graph queries, including GRAPH_TABLE, graph pattern matching, and related DDL commands. It notes that the change was later rolled back and expresses the author's uncertainty about the practical benefits and usability of the syntax.

### Source excerpt

Important update This change has been rolled back. Discussion can be found here. On 16th of March 2026, Peter Eisentraut committed patch: SQL Property Graph Queries (SQL/PGQ) Implementation of SQL property graph queries, according to SQL/PGQ standard (ISO/IEC 9075-16:2023). This adds: - GRAPH_TABLE table function for graph pattern matching - DDL commands ... Continue reading "Waiting for PostgreSQL 19 - SQL Property Graph Queries (SQL/PGQ)"

## Waiting for PostgreSQL 20 - Add min() and max() aggregate support for uuid.

DevFeed: [Waiting for PostgreSQL 20 - Add min() and max() aggregate support for uuid.](<https://devfeed.tech/articles/waiting-for-postgresql-20-add-min-and-max-aggregate-support-for-uuid-33692.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/07/09/waiting-for-postgresql-20-add-min-and-max-aggregate-support-for-uuid/>)

Author: depesz

Published: 2026-07-09T12:41:14Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [aggregate](<https://devfeed.tech/tags/aggregate.md>), [btree](<https://devfeed.tech/tags/btree.md>), [max](<https://devfeed.tech/tags/max.md>), [min](<https://devfeed.tech/tags/min.md>), [order](<https://devfeed.tech/tags/order.md>), [pg20](<https://devfeed.tech/tags/pg20.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sort](<https://devfeed.tech/tags/sort.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [uuid](<https://devfeed.tech/tags/uuid.md>), [uuid-extract-timestamp](<https://devfeed.tech/tags/uuid-extract-timestamp.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article discusses a PostgreSQL patch adding min() and max() aggregate support for the uuid type. It explains that uuid is totally ordered through comparison operators and a btree operator class, and demonstrates the aggregates with UUID v7 and random UUIDs.

### Source excerpt

On 1st of July 2026, Masahiko Sawada committed patch: Add min() and max() aggregate support for uuid. The uuid type already has a full set of comparison operators and a btree operator class, so it is totally ordered. min() and max() were the only common aggregates missing for it. Add the uuid_larger() and uuid_smaller() ... Continue reading "Waiting for PostgreSQL 20 - Add min() and max() aggregate support for uuid."

## Waiting for PostgreSQL 20 - Add backend-level lock statistics

DevFeed: [Waiting for PostgreSQL 20 - Add backend-level lock statistics](<https://devfeed.tech/articles/waiting-for-postgresql-20-add-backend-level-lock-statistics-33691.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/07/06/waiting-for-postgresql-20-add-backend-level-lock-statistics/>)

Author: depesz

Published: 2026-07-06T17:30:55Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Statistics](<https://devfeed.tech/topics/statistics.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [pg-stat-get-backend-lock](<https://devfeed.tech/tags/pg-stat-get-backend-lock.md>), [pg-stat-lock](<https://devfeed.tech/tags/pg-stat-lock.md>), [pg20](<https://devfeed.tech/tags/pg20.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [statistics](<https://devfeed.tech/tags/statistics.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

A walkthrough of a PostgreSQL patch that adds per-backend lock statistics, including lock wait counts, wait times, and fast-path exceeded counts. The author demonstrates the feature with concurrent psql sessions and discusses its usefulness for diagnosing lock behavior.

### Source excerpt

On 30th of June 2026, Michael Paquier committed patch: Add backend-level lock statistics This commit adds per-backend lock statistics, providing the same information as pg_stat_lock. It is now possible to retrieve those stats (lock wait counts, wait times, and fast-path exceeded count) on a per-backend basis. This data can be retrieved with a ... Continue reading "Waiting for PostgreSQL 20 - Add backend-level lock statistics"

## Posting explains from tools (and not web browsers)

DevFeed: [Posting explains from tools (and not web browsers)](<https://devfeed.tech/articles/posting-explains-from-tools-and-not-web-browsers-33690.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/06/25/posting-explains-from-tools-and-not-web-browsers/>)

Author: depesz

Published: 2026-06-25T14:56:17Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [cURL](<https://devfeed.tech/topics/curl.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cli](<https://devfeed.tech/tags/cli.md>), [curl](<https://devfeed.tech/tags/curl.md>), [data](<https://devfeed.tech/tags/data.md>), [explain-depesz-com](<https://devfeed.tech/tags/explain-depesz-com.md>), [json](<https://devfeed.tech/tags/json.md>), [tools](<https://devfeed.tech/tags/tools.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This article explains how to post execution plans to explain.depesz.com using a tool such as curl and obtain JSON containing the information needed to extract a delete_key for later deletion.

### Source excerpt

Some time ago (well, a month ago) someone called zam6ak reached to me and asked about extraction of delete_key from plans posted using tool, and not website. Specifically they were doing something like: curl --silent --include \ --request "POST" "https://explain.depesz.com/" \ --data-urlencode "title=sample" \ --data-urlencode "plan@sample-plan.txt" \ --data-urlencode "query@sample-query.sql" \ --data-urlencode "is_public=0" Which worked, and ... Continue reading "Posting explains from tools (and not web browsers)"

## Polish configuration for TSearch

DevFeed: [Polish configuration for TSearch](<https://devfeed.tech/articles/polish-configuration-for-tsearch-33688.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/04/21/polish-configuration-for-tsearch/>)

Author: depesz

Published: 2026-04-21T21:06:13Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [postgresql 18](<https://devfeed.tech/topics/postgresql-18.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [debian](<https://devfeed.tech/tags/debian.md>), [howto](<https://devfeed.tech/tags/howto.md>), [hunspell](<https://devfeed.tech/tags/hunspell.md>), [ispell](<https://devfeed.tech/tags/ispell.md>), [linux](<https://devfeed.tech/tags/linux.md>), [pl-pl](<https://devfeed.tech/tags/pl-pl.md>), [polish](<https://devfeed.tech/tags/polish.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tsearch](<https://devfeed.tech/tags/tsearch.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This tutorial explains how to configure Polish full-text search in PostgreSQL. It reports that PostgreSQL 19 is expected to include a Polish dictionary, while current PostgreSQL versions such as PostgreSQL 18 require installing or obtaining Hunspell Polish files, converting them to UTF-8 when necessary, placing them in the PostgreSQL text-search data directory, and configuring and testing the dictionary.

### Source excerpt

Some time ago someone posted on Reddit that they have problems adding Polish configuration to their PostgreSQL. While checking it, I found some interesting news. And of course figured out how to have Polish configuration... First, the news: apparently in PostgreSQL 19, we will automatically get Polish dictionary, thanks to this commit from 5th of ... Continue reading "Polish configuration for TSearch"

## Waiting for PostgreSQL 19 - Add CONCURRENTLY option to REPACK

DevFeed: [Waiting for PostgreSQL 19 - Add CONCURRENTLY option to REPACK](<https://devfeed.tech/articles/waiting-for-postgresql-19-add-concurrently-option-to-repack-33689.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/04/21/waiting-for-postgresql-19-add-concurrently-option-to-repack/>)

Author: depesz

Published: 2026-04-21T10:40:14Z

Content type: opinion

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [bloat](<https://devfeed.tech/tags/bloat.md>), [concurrently](<https://devfeed.tech/tags/concurrently.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [repack](<https://devfeed.tech/tags/repack.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article tests PostgreSQL 19's proposed CONCURRENTLY option for REPACK on a table with 200 million rows. The test found that the table shrank as expected, while inserts experienced a visible but limited slowdown during repacking.

### Source excerpt

On 6th of April 2026, Álvaro Herrera committed patch: Add CONCURRENTLY option to REPACK When this flag is specified, REPACK no longer acquires access-exclusive lock while the new copy of the table is being created; instead, it creates the initial copy under share-update-exclusive lock only (same as vacuum, etc), and it follows an MVCC ... Continue reading "Waiting for PostgreSQL 19 - Add CONCURRENTLY option to REPACK"

## Waiting for PostgreSQL 19 - Online enabling and disabling of data checksums

DevFeed: [Waiting for PostgreSQL 19 - Online enabling and disabling of data checksums](<https://devfeed.tech/articles/waiting-for-postgresql-19-online-enabling-and-disabling-of-data-checksums-33687.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/04/15/waiting-for-postgresql-19-online-enabling-and-disabling-of-data-checksums/>)

Author: depesz

Published: 2026-04-15T18:05:36Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [postgresql clusters](<https://devfeed.tech/topics/postgresql-clusters.md>), [async](<https://devfeed.tech/topics/async.md>), [IO](<https://devfeed.tech/topics/io.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [background](<https://devfeed.tech/tags/background.md>), [background-work](<https://devfeed.tech/tags/background-work.md>), [checksums](<https://devfeed.tech/tags/checksums.md>), [data-checksum](<https://devfeed.tech/tags/data-checksum.md>), [io](<https://devfeed.tech/tags/io.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article examines a PostgreSQL 19 patch that allows data checksums to be enabled or disabled while a cluster is running. The command is immediate, but rewriting every table and index occurs in the background and can require substantial I/O. The article also discusses cost-delay options for controlling the background worker.

### Source excerpt

On 3rd of April 2026, Daniel Gustafsson committed patch: Online enabling and disabling of data checksums This allows data checksums to be enabled, or disabled, in a running cluster without restricting access to the cluster during processing. Data checksums could prior to this only be enabled during initdb or when the cluster is ... Continue reading "Waiting for PostgreSQL 19 - Online enabling and disabling of data checksums"

## Waiting for PostgreSQL 19 - new pg\_get\_\*\_ddl() functions

DevFeed: [Waiting for PostgreSQL 19 - new pg\_get\_\*\_ddl() functions](<https://devfeed.tech/articles/waiting-for-postgresql-19-new-pg-get-ddl-functions-33686.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/04/09/waiting-for-postgresql-19-new-pg_get__ddl-functions/>)

Author: depesz

Published: 2026-04-09T16:37:45Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [functions](<https://devfeed.tech/tags/functions.md>), [pg-dump](<https://devfeed.tech/tags/pg-dump.md>), [pg-get-database-ddl](<https://devfeed.tech/tags/pg-get-database-ddl.md>), [pg-get-role-ddl](<https://devfeed.tech/tags/pg-get-role-ddl.md>), [pg-get-tablespace-ddl](<https://devfeed.tech/tags/pg-get-tablespace-ddl.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article examines proposed PostgreSQL 19 SQL-callable pg_get_*_ddl() functions that generate DDL for recreating databases, roles, and tablespaces. It demonstrates their output and options, notes that role passwords are not exported, and observes that support for additional object types is still missing.

### Source excerpt

On 5th of April 2026, Andrew Dunstan committed patch: Add pg_get_database_ddl() function Add a new SQL-callable function that returns the DDL statements needed to recreate a database. It takes a regdatabase argument and an optional VARIADIC text argument for options that are specified as alternating name/value pairs. The following options are supported: pretty (boolean) ... Continue reading "Waiting for PostgreSQL 19 - new pg_get_*_ddl() functions"

## PostgreSQL temporal UPDATE and DELETE by range

DevFeed: [PostgreSQL temporal UPDATE and DELETE by range](<https://devfeed.tech/articles/waiting-for-postgresql-19-add-update-delete-for-portion-of-33685.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/04/02/waiting-for-postgresql-19-add-update-delete-for-portion-of/>)

Author: depesz

Published: 2026-04-02T10:51:21Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [postgresql 18](<https://devfeed.tech/topics/postgresql-18.md>)

Tags: [delete](<https://devfeed.tech/tags/delete.md>), [period](<https://devfeed.tech/tags/period.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [range](<https://devfeed.tech/tags/range.md>), [temporal](<https://devfeed.tech/tags/temporal.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [update](<https://devfeed.tech/tags/update.md>), [version](<https://devfeed.tech/tags/version.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article explains a PostgreSQL patch that extends UPDATE and DELETE for temporal tables, allowing changes or deletions over a specified range or multirange period. The article also notes that the patch was later reverted after discussion.

### Source excerpt

Important update This has been reverted with some discussion. Thanks for ping to mkurz 🙂 On 1st of April 2026, Peter Eisentraut committed patch: Add UPDATE/DELETE FOR PORTION OF This is an extension of the UPDATE and DELETE commands to do a "temporal update/delete" based on a range or multirange column. The user can ... Continue reading "Waiting for PostgreSQL 19 - Add UPDATE/DELETE FOR PORTION OF"

## Waiting for PostgreSQL 19 - json format for COPY TO

DevFeed: [Waiting for PostgreSQL 19 - json format for COPY TO](<https://devfeed.tech/articles/waiting-for-postgresql-19-json-format-for-copy-to-33684.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/03/29/waiting-for-postgresql-19-json-format-for-copy-to/>)

Author: depesz

Published: 2026-03-29T12:34:22Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [JSON](<https://devfeed.tech/topics/json.md>), [export](<https://devfeed.tech/topics/export.md>), [data](<https://devfeed.tech/topics/data.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [copy](<https://devfeed.tech/tags/copy.md>), [data](<https://devfeed.tech/tags/data.md>), [developers](<https://devfeed.tech/tags/developers.md>), [export](<https://devfeed.tech/tags/export.md>), [json](<https://devfeed.tech/tags/json.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [stream](<https://devfeed.tech/tags/stream.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article discusses a PostgreSQL 19 patch adding a JSON format option to COPY TO. It allows table data or query results to be exported as a stream of JSON objects, one object per line, with an option to wrap the output in an array.

### Source excerpt

On 20th of March 2026, Andrew Dunstan committed patch: json format for COPY TO This introduces the JSON format option for the COPY TO command, allowing users to export query results or table data directly as a stream of JSON objects (one per line, NDJSON style). The JSON format is currently supported only ... Continue reading "Waiting for PostgreSQL 19 - json format for COPY TO"

## Waiting for PostgreSQL 19 - Add support for EXCEPT TABLE in ALTER PUBLICATION.

DevFeed: [Waiting for PostgreSQL 19 - Add support for EXCEPT TABLE in ALTER PUBLICATION.](<https://devfeed.tech/articles/waiting-for-postgresql-19-add-support-for-except-table-in-alter-publication-33683.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/03/26/waiting-for-postgresql-19-add-support-for-except-table-in-alter-publication/>)

Author: depesz

Published: 2026-03-26T11:46:24Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [syntax](<https://devfeed.tech/topics/syntax.md>)

Tags: [alter](<https://devfeed.tech/tags/alter.md>), [commit](<https://devfeed.tech/tags/commit.md>), [except](<https://devfeed.tech/tags/except.md>), [logical](<https://devfeed.tech/tags/logical.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [publication](<https://devfeed.tech/tags/publication.md>), [replication](<https://devfeed.tech/tags/replication.md>), [table](<https://devfeed.tech/tags/table.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article discusses a PostgreSQL 19 patch adding EXCEPT TABLE support to ALTER PUBLICATION. The change allows modifying a publication's table exclusion list, though the example notes that specifying an exclusion for one publication replaced its previous exclusion list.

### Source excerpt

On 20th of March 2026, Amit Kapila committed patch: Add support for EXCEPT TABLE in ALTER PUBLICATION. Following commit fd366065e0, which added EXCEPT TABLE support to CREATE PUBLICATION, this commit extends ALTER PUBLICATION to allow modifying the exclusion list. New Syntax: ALTER PUBLICATION name SET publication_all_object [, ... ] where publication_all_object is ... Continue reading "Waiting for PostgreSQL 19 - Add support for EXCEPT TABLE in ALTER PUBLICATION."

## Waiting for PostgreSQL 19 - Add pg\_plan\_advice contrib module.

DevFeed: [Waiting for PostgreSQL 19 - Add pg\_plan\_advice contrib module.](<https://devfeed.tech/articles/waiting-for-postgresql-19-add-pg-plan-advice-contrib-module-33682.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/03/22/waiting-for-postgresql-19-add-pg_plan_advice-contrib-module/>)

Author: depesz

Published: 2026-03-22T13:44:10Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [hint](<https://devfeed.tech/tags/hint.md>), [module](<https://devfeed.tech/tags/module.md>), [pg-plan-advice](<https://devfeed.tech/tags/pg-plan-advice.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [plan](<https://devfeed.tech/tags/plan.md>), [planner](<https://devfeed.tech/tags/planner.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [statistics](<https://devfeed.tech/tags/statistics.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article examines PostgreSQL's proposed pg_plan_advice contrib module, explaining why query planners sometimes choose suboptimal plans, how plan hints could stabilize or override those choices, and how to load and test the extension.

### Source excerpt

On 12nd of March 2026, Robert Haas committed patch: Add pg_plan_advice contrib module. Provide a facility that (1) can be used to stabilize certain plan choices so that the planner cannot reverse course without authorization and (2) can be used by knowledgeable users to insist on plan choices contrary to what the planner believes ... Continue reading "Waiting for PostgreSQL 19 - Add pg_plan_advice contrib module."

## Waiting for PostgreSQL 19 - Introduce the REPACK command

DevFeed: [Waiting for PostgreSQL 19 - Introduce the REPACK command](<https://devfeed.tech/articles/waiting-for-postgresql-19-introduce-the-repack-command-33681.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/03/19/waiting-for-postgresql-19-introduce-the-repack-command/>)

Author: depesz

Published: 2026-03-19T18:07:59Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [postgresql clusters](<https://devfeed.tech/topics/postgresql-clusters.md>)

Tags: [analyze](<https://devfeed.tech/tags/analyze.md>), [bloat](<https://devfeed.tech/tags/bloat.md>), [command](<https://devfeed.tech/tags/command.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [locking](<https://devfeed.tech/tags/locking.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [pg-repack](<https://devfeed.tech/tags/pg-repack.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [planner](<https://devfeed.tech/tags/planner.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [repack](<https://devfeed.tech/tags/repack.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article examines PostgreSQL 19's proposed built-in REPACK command, which combines functionality associated with VACUUM FULL and CLUSTER. It demonstrates reclaiming space and reordering a table, discusses locking because concurrent operation is not yet supported, and introduces the pg_stat_progress_repack progress view and available command forms.

### Source excerpt

On 10th of March 2026, Álvaro Herrera committed patch: Introduce the REPACK command REPACK absorbs the functionality of VACUUM FULL and CLUSTER in a single command. Because this functionality is completely different from regular VACUUM, having it separate from VACUUM makes it easier for users to understand; as for CLUSTER, the term is heavily ... Continue reading "Waiting for PostgreSQL 19 - Introduce the REPACK command"

## Waiting for PostgreSQL 19 - Allow table exclusions in publications via EXCEPT TABLE.

DevFeed: [Waiting for PostgreSQL 19 - Allow table exclusions in publications via EXCEPT TABLE.](<https://devfeed.tech/articles/waiting-for-postgresql-19-allow-table-exclusions-in-publications-via-except-table-33680.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/03/18/waiting-for-postgresql-19-allow-table-exclusions-in-publications-via-except-table/>)

Author: depesz

Published: 2026-03-18T11:15:16Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [except](<https://devfeed.tech/tags/except.md>), [logical](<https://devfeed.tech/tags/logical.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [publication](<https://devfeed.tech/tags/publication.md>), [replication](<https://devfeed.tech/tags/replication.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

A PostgreSQL patch adds EXCEPT TABLE support to CREATE PUBLICATION ... FOR ALL TABLES, allowing selected tables to be excluded from logical replication. The article explains the existing publication options and notes that altering an existing FOR ALL TABLES publication to add exclusions is not currently supported.

### Source excerpt

On 4th of March 2026, Amit Kapila committed patch: Allow table exclusions in publications via EXCEPT TABLE. Extend CREATE PUBLICATION ... FOR ALL TABLES to support the EXCEPT TABLE syntax. This allows one or more tables to be excluded. The publisher will not send the data of excluded tables to the subscriber. To ... Continue reading "Waiting for PostgreSQL 19 - Allow table exclusions in publications via EXCEPT TABLE."

## Waiting for PostgreSQL 19 - Add non-text output formats to pg\_dumpall

DevFeed: [Waiting for PostgreSQL 19 - Add non-text output formats to pg\_dumpall](<https://devfeed.tech/articles/waiting-for-postgresql-19-add-non-text-output-formats-to-pg-dumpall-33679.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/03/17/waiting-for-postgresql-19-add-non-text-output-formats-to-pg_dumpall/>)

Author: depesz

Published: 2026-03-17T10:29:38Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [backups](<https://devfeed.tech/topics/backups.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [backup](<https://devfeed.tech/tags/backup.md>), [backups](<https://devfeed.tech/tags/backups.md>), [compression](<https://devfeed.tech/tags/compression.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [pg-dump](<https://devfeed.tech/tags/pg-dump.md>), [pg-dumpall](<https://devfeed.tech/tags/pg-dumpall.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article examines a PostgreSQL 19 patch that adds custom, directory, and tar output formats to pg_dumpall. It describes the resulting files and explains how the formats can support more selective restoration and simpler backups.

### Source excerpt

On 26th of February 2026, Andrew Dunstan committed patch: Add non-text output formats to pg_dumpall pg_dumpall can now produce output in custom, directory, or tar formats in addition to plain text SQL scripts. When using non-text formats, pg_dumpall creates a directory containing: - toc.glo: global data (roles and tablespaces) in custom format - map.dat: ... Continue reading "Waiting for PostgreSQL 19 - Add non-text output formats to pg_dumpall"

## Waiting for PostgreSQL 19 - Allow log\_min\_messages to be set per process type

DevFeed: [Waiting for PostgreSQL 19 - Allow log\_min\_messages to be set per process type](<https://devfeed.tech/articles/waiting-for-postgresql-19-allow-log-min-messages-to-be-set-per-process-type-33677.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/02/21/waiting-for-postgresql-19-allow-log_min_messages-to-be-set-per-process-type/>)

Author: depesz

Published: 2026-02-21T19:05:27Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Process](<https://devfeed.tech/topics/process.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [debug](<https://devfeed.tech/tags/debug.md>), [log-min-messages](<https://devfeed.tech/tags/log-min-messages.md>), [logs](<https://devfeed.tech/tags/logs.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [process](<https://devfeed.tech/tags/process.md>), [processes](<https://devfeed.tech/tags/processes.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

A PostgreSQL 19 change allows log_min_messages to be configured separately for different process types. The article explains the change and lists examples of supported backend and background process types.

### Source excerpt

On 9th of February 2026, Álvaro Herrera committed patch: Allow log_min_messages to be set per process type Change log_min_messages from being a single element to a comma-separated list of type:level elements, with 'type' representing a process type, and 'level' being a log level to use for that type of process. The list must also ... Continue reading "Waiting for PostgreSQL 19 - Allow log_min_messages to be set per process type"

## Waiting for PostgreSQL 19 - psql: Add %i prompt escape to indicate hot standby status.

DevFeed: [Waiting for PostgreSQL 19 - psql: Add %i prompt escape to indicate hot standby status.](<https://devfeed.tech/articles/waiting-for-postgresql-19-psql-add-i-prompt-escape-to-indicate-hot-standby-status-33678.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/02/21/waiting-for-postgresql-19-psql-add-i-prompt-escape-to-indicate-hot-standby-status/>)

Author: depesz

Published: 2026-02-21T14:51:47Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Replication](<https://devfeed.tech/topics/replication.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [commit](<https://devfeed.tech/tags/commit.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [primary](<https://devfeed.tech/tags/primary.md>), [psql](<https://devfeed.tech/tags/psql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [standby](<https://devfeed.tech/tags/standby.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article explains a PostgreSQL 19 patch that adds the %i prompt escape to psql. The escape indicates whether the connected server is a primary or operating in hot standby mode, making replication status visible in the psql prompt.

### Source excerpt

On 3rd of February 2026, Fujii Masao committed patch: psql: Add %i prompt escape to indicate hot standby status. This commit introduces a new prompt escape %i for psql, which shows whether the connected server is operating in hot standby mode. It expands to standby if the server reports in_hot_standby = on, and primary ... Continue reading "Waiting for PostgreSQL 19 - psql: Add %i prompt escape to indicate hot standby status."

## Per-worker, and global, IO bandwidth in explain plans

DevFeed: [Per-worker, and global, IO bandwidth in explain plans](<https://devfeed.tech/articles/per-worker-and-global-io-bandwidth-in-explain-plans-33676.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/02/21/per-worker-and-global-io-bandwidth-in-explain-plans/>)

Author: depesz

Published: 2026-02-21T13:24:57Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [IO](<https://devfeed.tech/topics/io.md>), [parallel](<https://devfeed.tech/topics/parallel.md>)

Tags: [analyze](<https://devfeed.tech/tags/analyze.md>), [execution](<https://devfeed.tech/tags/execution.md>), [explain](<https://devfeed.tech/tags/explain.md>), [explain-depesz-com](<https://devfeed.tech/tags/explain-depesz-com.md>), [io](<https://devfeed.tech/tags/io.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [plan](<https://devfeed.tech/tags/plan.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [speed](<https://devfeed.tech/tags/speed.md>), [timing](<https://devfeed.tech/tags/timing.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [worker](<https://devfeed.tech/tags/worker.md>)

### AI overview

This article explains how PostgreSQL explain plans can report per-worker and global I/O bandwidth during parallel execution. It describes how summed worker timings differ from wall-clock time and introduces an exclusive-time bandwidth figure for the disks' total workload.

### Source excerpt

Jeremy Schneider suggested a change to how plans are displayed - adding another bit of information in case we have timing information for IO for explain node. Took me a while to research, but it finally made it's way... Let's consider this simple plan. In it's Parallel Seq Scan node we see: -> Parallel Seq ... Continue reading "Per-worker, and global, IO bandwidth in explain plans"

## How to render timestamp with a timezone that is different from current?

DevFeed: [How to render timestamp with a timezone that is different from current?](<https://devfeed.tech/articles/how-to-render-timestamp-with-a-timezone-that-is-different-from-current-33675.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/27/how-to-render-timestamp-with-a-timezone-that-is-different-from-current/>)

Author: depesz

Published: 2026-01-27T09:25:04Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [timezone](<https://devfeed.tech/topics/timezone.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [formatting](<https://devfeed.tech/tags/formatting.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [irc](<https://devfeed.tech/tags/irc.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [timestamptz](<https://devfeed.tech/tags/timestamptz.md>), [timezone](<https://devfeed.tech/tags/timezone.md>), [to-char](<https://devfeed.tech/tags/to-char.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [utc](<https://devfeed.tech/tags/utc.md>)

### AI overview

A PostgreSQL tutorial explaining why timestamptz values are displayed in the client's local timezone and how to render a timestamp with an offset for another timezone. It presents a custom function that returns text, preserves the client timezone, and optionally applies to_char formatting.

### Source excerpt

This question appeared on IRC, and while I wasn't there while it happened, it caught my eye: " Can I not render this with timezone offset: select '2026-01-09 04:35:46.9824-08'::timestamp with time zone at time zone 'UTC'; " Returns '2026-01-09 12:35:46.9824' which is without the offset. Let's see what can be done about it. First, let's ... Continue reading "How to render timestamp with a timezone that is different from current?"

## Quick and dirty loading of CSV files

DevFeed: [Quick and dirty loading of CSV files](<https://devfeed.tech/articles/quick-and-dirty-loading-of-csv-files-33674.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/07/quick-and-dirty-loading-of-csv-files/>)

Author: depesz

Published: 2026-01-07T00:10:32Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [CSV](<https://devfeed.tech/topics/csv.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Database](<https://devfeed.tech/topics/database.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [claude](<https://devfeed.tech/tags/claude.md>), [csv](<https://devfeed.tech/tags/csv.md>), [database](<https://devfeed.tech/tags/database.md>), [irc](<https://devfeed.tech/tags/irc.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node](<https://devfeed.tech/tags/node.md>), [pg-csv-loader](<https://devfeed.tech/tags/pg-csv-loader.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

The author describes building a JavaScript/Node tool that automatically detects CSV delimiters, quote characters, column names, and data types before loading the data into a default PostgreSQL database. The tool was tested on several CSV files and handled PostgreSQL CSV logs, while the author added tests and improved datatype detection after using Claude to create the basics.

### Source excerpt

Back in September 2025, David Fetter asked on IRC, about a tool to quickly load CSV to database. One that would require minimal configuration, will try to figure out as much as possible on its own. I thought that it would be great idea. Plus, I'm trying to learn more JavaScript / Node, so figured ... Continue reading "Quick and dirty loading of CSV files"

## Small improvement for pretty-printing in paste.depesz.com

DevFeed: [Small improvement for pretty-printing in paste.depesz.com](<https://devfeed.tech/articles/small-improvement-for-pretty-printing-in-paste-depesz-com-33672.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/06/improvement-for-pretty-printing-in-paste-depesz-com/>)

Author: depesz

Published: 2026-01-06T15:13:10Z

Content type: release

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [pretty printing](<https://devfeed.tech/topics/pretty-printing.md>), [JOIN](<https://devfeed.tech/topics/join.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [irc](<https://devfeed.tech/tags/irc.md>), [join](<https://devfeed.tech/tags/join.md>), [paste-depesz-com](<https://devfeed.tech/tags/paste-depesz-com.md>), [perl](<https://devfeed.tech/tags/perl.md>), [pg-prettify](<https://devfeed.tech/tags/pg-prettify.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [pretty](<https://devfeed.tech/tags/pretty.md>), [pretty-printing](<https://devfeed.tech/tags/pretty-printing.md>), [script](<https://devfeed.tech/tags/script.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

The article describes an improvement to the pretty printer on paste.depesz.com that produces better indentation for complex SQL join conditions. It also notes that the printer can be used from the command line or through a previously described script without storing content on the site.

### Source excerpt

As you maybe know, some time ago I made paste service, mostly to use for queries, or related text to share on IRC. One part of it is that it also has pretty printer of provided queries. Recently I realized that in case of complex join conditions, the output is, well, sub-optimal. For example: SELECT ... Continue reading "Small improvement for pretty-printing in paste.depesz.com"

## What is index overhead on writes?

DevFeed: [What is index overhead on writes?](<https://devfeed.tech/articles/what-is-index-overhead-on-writes-33673.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/06/what-is-index-overhead-on-writes/>)

Author: depesz

Published: 2026-01-06T11:57:10Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [btree](<https://devfeed.tech/tags/btree.md>), [delete](<https://devfeed.tech/tags/delete.md>), [gin](<https://devfeed.tech/tags/gin.md>), [index](<https://devfeed.tech/tags/index.md>), [insert](<https://devfeed.tech/tags/insert.md>), [operations](<https://devfeed.tech/tags/operations.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [speed](<https://devfeed.tech/tags/speed.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The article measures how indexes affect write performance using PostgreSQL 18 and a one-million-row test table. It reports that loading performance decreases as indexes are added, and that a roughly 3.6-fold increase in storage corresponded to an eightfold slowdown in the tested case. A single wide index performed better than ten separate indexes, though the author notes that the configurations solve different computational problems.

### Source excerpt

One of things people learn is that adding indexes isn't free. All write operations (insert, update, delete) will be slower - well, they have to update index. But realistically - how much slower? Full tests should involve lots of operations, on realistic data, but I just wanted to see some basic info. So I figured ... Continue reading "What is index overhead on writes?"

## Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE/SPLIT PARTITIONS ... command

DevFeed: [Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE/SPLIT PARTITIONS ... command](<https://devfeed.tech/articles/waiting-for-postgresql-19-implement-alter-table-merge-split-partitions-command-33671.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/04/waiting-for-postgresql-19-implement-alter-table-merge-split-partitions-command/>)

Author: depesz

Published: 2026-01-04T17:30:47Z

Content type: opinion

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [locking](<https://devfeed.tech/tags/locking.md>), [merge](<https://devfeed.tech/tags/merge.md>), [partition](<https://devfeed.tech/tags/partition.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [partitions](<https://devfeed.tech/tags/partitions.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [split](<https://devfeed.tech/tags/split.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

A PostgreSQL 19 development update describes the ALTER TABLE command for merging and splitting partitions. The patch was rolled back after earlier discussion, then recommitted; testing showed it worked as expected, with slightly less locking observed. Further changes may be needed before the feature reaches the final release.

### Source excerpt

Important update This has been rolled back after some discussion. On 14th of December 2025, Alexander Korotkov committed patch: Implement ALTER TABLE ... MERGE PARTITIONS ... command This new DDL command merges several partitions into a single partition of the target table. The target partition is created using the new createPartitionTable() function with the ... Continue reading "Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE/SPLIT PARTITIONS ... command"

[Next page](<https://devfeed.tech/sources/select-from-depesz.md?cursor=WyIyMDI2LTAxLTA0VDE3OjMwOjQ3KzAwOjAwIiwgIjliOTgzY2EyLWVjNzktNDM2My1hZmU2LTA2MjUxOTRiODQ4NiJd>)