Sammlung von Newsfeeds

Dimitri Fontaine: Getting Ready for PostgreSQL 19

Neues vom PostgreSQL Planet - 3. September 2026 - 15:09

PostgreSQL 19 Beta 3 shipped on August 13, 2026, and the release notes have been filled in as of 2026-07-18 — still marked subject to change, and the GA date isn’t announced yet, but following the project’s usual September/October cadence general availability should land within the next few weeks.

Christophe Pettus: All Your GUCs in a Row: log_replication_commands

Neues vom PostgreSQL Planet - 3. September 2026 - 3:00
log_replication_commands is log_statement = all for walsenders, with the one difference that you should turn it on. A replication connection (replication=1 for physical, replication=database for logical) speaks a small language of its own: IDENTIFY_SYSTEM, CREATE_REPLICATION_SLOT, START_REPLICATI…

Alexander Ioffe: How One Extra JOIN Reliably Breaks Postgres

Neues vom PostgreSQL Planet - 3. September 2026 - 2:00
Adding a 5-row lookup table to a 9-table billing query flips the plan from 0.3ms nested loops to 467ms hash joins. The cause is join_collapse_limit = 8, a default Postgres has shipped since 2005. SQL Server and MySQL don't have this cliff. Measured across three engines using ExoBench.

Christopher Winslett: Postgres Calculations and the Ambiguity of NULL

Neues vom PostgreSQL Planet - 2. September 2026 - 19:00

When dividing by zero, Postgres fails and declares you ran an illegal operation. Cast 'abc' to an integer, and get an error. Divide by NULL and the query still runs. NULL isn't even a value. It is a marker for “unknown.” When using NULL, the concept of being unknown propagates through comparisons, arithmetic, concatenation, aggregates, window functions, and WHERE clauses. The result is well-defined, but it may not be the result you had in mind.

Dave Stokes: Loading the Northwinds Database Into PostgreSQL with DBeaver

Neues vom PostgreSQL Planet - 2. September 2026 - 17:10

 Note: I am presenting a tutorial for those who want to learn SQL at this year's Texas Linuxfest (https://pretalx.com/txlf2026/talk/DQ3XW7/) on November 6th.  This is a great opportunity at a fantastic community event and I encourage you to attend.


Jimmy Angelakos: LinkedIn Live: All right, so you inherited a bad database...

Neues vom PostgreSQL Planet - 2. September 2026 - 14:37

Back on Friday, July 17th, I joined Courtney from Manning for another LinkedIn Live, this time on what to do when you inherit a bad database. The recording and the slides are now up, with a Q&A at the end.

MERGE/SPLIT PARTITION reverted again

Postgres Weekly - 2. September 2026 - 2:00

#​663 — September 2, 2026

Web Version

Postgres Weekly

Gülçin Yıldırım Jelínek: New system views in PostgreSQL 19

Neues vom PostgreSQL Planet - 1. September 2026 - 19:03

While writing about the monitoring improvements in PostgreSQL 19 and preparing my new talk on Postgres observability for PostgreSQL Conference Europe in October, I noticed the system views got their own section in this release. The last time they were similarly highlighted was in PG13 and PG14. So I decided the system views need a blog of their own to go through what has changed.

Maki Majima: Migration files and Git do not mix

Neues vom PostgreSQL Planet - 1. September 2026 - 18:30

Your repository contains two version control systems.

One is Git. The other is your migration directory — a timestamped, append-only sequence of schema changes with its own applied-state tracking in the database. Two systems, two timelines, living in the same repo. And they do not synchronize.

Vibhor Kumar: When AI Takes Action, What Proves What Actually Happened?

Neues vom PostgreSQL Planet - 1. September 2026 - 9:34
Why transactional evidence matters as AI moves from generating answers to changing business state

Imagine an AI agent handling a customer refund.

It receives the request, retrieves the order, evaluates the relevant information, decides the refund is allowed, and invokes the appropriate service. From the AI system’s perspective, the workflow succeeded because the trace shows that a decision was made and a tool was called.

Henrietta Dombrovskaya: That’s how Postgres met Django!

Neues vom PostgreSQL Planet - 1. September 2026 - 4:26

That was an experimental meetup: we never, ever scheduled meetups in August, especially during the last week of August! Still, when Keanya Phelps came up with the idea to have a Postgres meetup during the Djangocon.US conference, I couldn’t say no!

Until the last week before the meetup, I was unsure how many people would register and, more importantly, how many would come, but we had a full house (and yes, I didn’t take enough pictures because we had a Zoom setup crisis, so you have to trust me!)

Christophe Pettus: All Your GUCs in a Row: log_parameter_max_length and log_parameter_max_length_on_error

Neues vom PostgreSQL Planet - 1. September 2026 - 3:00
Control what bind parameters PostgreSQL logs alongside statements and errors.

Radim Marek: Read your own writes, off the primary

Neues vom PostgreSQL Planet - 1. September 2026 - 1:00

Your API accepts the change. It returns 201 Created or 200 OK, the system has saved the user's change, and the moment the user clicks, the change disappears from the app, only to resurface seconds later. That's if you are lucky. There's no error. The change simply ceased to exist for a while.

Christopher Winslett: Postgres Calculations and the Ambiguity of NULL

Neues vom PostgreSQL Planet - 31. August 2026 - 16:00

When dividing by zero, Postgres fails and declares you ran an illegal operation. Cast 'abc' to an integer, and get an error. Divide by NULL and the query still runs. NULL isn't even a value. It is a marker for “unknown.” When using NULL, the concept of being unknown propagates through comparisons, arithmetic, concatenation, aggregates, window functions, and WHERE clauses. The result is well-defined, but it may not be the result you had in mind.

Jimmy Angelakos: LinkedIn Live: All right, so you inherited a bad database...

Neues vom PostgreSQL Planet - 31. August 2026 - 14:37

Back on Friday, July 17th, I joined Courtney from Manning for another LinkedIn Live, this time on what to do when you inherit a bad database. The recording and the slides are now up, with a Q&A at the end.

Richard Yen: pg-catalog-almanac

Neues vom PostgreSQL Planet - 31. August 2026 - 10:00
Did you know: PG19 is on track to contain the most changes to pg_catalog in history Introduction

pg_catalog is one of the most important interfaces PostgreSQL gives us: it exposes the metadata that describes database structure – tables, columns, indexes, constraints, types, and dependencies – alongside views into what the server is doing right now. When diagnosing replication lag, long-running or blocked queries, idle transactions, lock contention, vacuum activity, and other real-time performance problems, pg_catalog is often where I’m spending my time poking around.

Christophe Pettus: All Your GUCs in a Row: log_min_messages, log_min_error_statement, and log_error_verbosity

Neues vom PostgreSQL Planet - 31. August 2026 - 3:00
Three parameters control what reaches your server log: a severity floor, whether to attach the triggering SQL, and how many fields each message prints.

Christophe Pettus: All Your GUCs in a Row: log_line_prefix and log_timezone

Neues vom PostgreSQL Planet - 30. August 2026 - 3:00
A log line has two parts: the message, which PostgreSQL decides, and everything in front of it, which you do. log_line_prefix is the join key. Every fact that lets you connect a line to a session, a transaction, a client, or a moment in another system’s logs has to be in the prefix, because the m…

Pavel Stehule: Integration Lua to psql III

Neues vom PostgreSQL Planet - 29. August 2026 - 7:47
I finished patch that integrates Lua language to psql client https://github.com/okbob/lua-psql I wrote two examples. Second is a wrapping VACUUM command. Target is a more readable output in verbose mode. One bonus is printing progress - any second the pg_stat_progress_vacuum is selected and result is printed. function vacuum(args) local options = {} local tables = {} if args == "help" then print "\\lua vacuum {verbose=true}" return end if args then local transfx = load("return " ..

Seiten