Backporting BackgroundPsql

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Daniel Gustafsson <daniel(at)yesql(dot)se>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Andres Freund <andres(at)anarazel(dot)de>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Mikael Kjellström <mikael(dot)kjellstrom(at)gmail(dot)com>
Subject: Backporting BackgroundPsql
Date: 2024-06-25 10:26:23
Message-ID: b7c64f20-ea01-4f15-9088-0cd6832af149@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

While fixing a recent bug on visibility on a standby [1], I wrote a
regression test that uses BackgroundPsql to run some queries in a
long-running psql session. The problem is that that was refactored in
v17, commit 664d757531. The test I wrote for v17 doesn't work as it is
on backbranches. Options:

1. Write the new test differently on backbranches. Before 664d757531,
the test needs to work a lot harder to use the background psql session,
calling pump() etc. That's doable, but as noted in the discussion that
led to 664d757531, it's laborious and error-prone.

2. Backport commit 664d757531. This might break out-of-tree perl tests
that use the background_psql() function. I don't know if any such tests
exist, and they would need to be changed for v17 anyway, so that seems
acceptable. Anyone aware of any extensions using the perl test modules?

3. Backport commit 664d757531, but keep the existing background_psql()
function unchanged. Add a different constructor to get the v17-style
BackgroundPsql session, something like "$node->background_psql_new()".

I'm leaning towards 3. We might need to backport more perl tests that
use background_psql() in the future, backporting the test module will
make that easier.

Thoughts?

[1]
https://www.postgresql.org/message-id/6b852e98-2d49-4ca1-9e95-db419a2696e0@iki.fi

--
Heikki Linnakangas
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Matthias van de Meent 2024-06-25 10:30:27 Re: add a new explain option including_query for include query string inside the json plan output
Previous Message Alvaro Herrera 2024-06-25 10:12:33 Re: RFC: Additional Directory for Extensions