<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.postgresql.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petere</id>
	<title>PostgreSQL wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.postgresql.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petere"/>
	<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/wiki/Special:Contributions/Petere"/>
	<updated>2026-06-09T12:19:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Developer_Unconference&amp;diff=43722</id>
		<title>PGConf.dev 2026 Developer Unconference</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Developer_Unconference&amp;diff=43722"/>
		<updated>2026-06-09T12:17:06Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* What Other Optimizer Stats Do We Want */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The unconference at [[PGConf.dev 2026]] will be organized by Andres Freund and Nathan Bossart. Please add notes about individual sessions here! You can either include them in the body of the page, or put them on another page and link from here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you feel that your session cannot be productive without a particular conference attendee present, please ask their permission to include them as a &amp;quot;required attendee&amp;quot; for your proposal.  The organizers will use this information to minimize scheduling conflicts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Postgres and Other Communities ==&lt;br /&gt;
&lt;br /&gt;
So many ideas and suggestions on the notes page! [https://wiki.postgresql.org/wiki/PGConf.dev_2026_Developer_Unconference/Postgres_and_other_communities]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Global Index ==&lt;br /&gt;
&lt;br /&gt;
We want global indexes, because:&lt;br /&gt;
&lt;br /&gt;
* Allows unique constraints on non-partition keys.&lt;br /&gt;
* Scan on one index is cheaper than N scans on N indexes&lt;br /&gt;
&lt;br /&gt;
3 problems:&lt;br /&gt;
&lt;br /&gt;
1. VACUUM: 1000s of partitions each must run cleanup on the same index relation; which is sized to 1000s of partitions&#039; data.&lt;br /&gt;
2. DDL: Adding &amp;amp; removing partitions requires maintenance on the global index.  How to decide whether rebuild from scratch or to apply changes with only the new/removed tuples &lt;br /&gt;
3. Locking: Scanning the global index still requires locks on all leaf tables that contribute(d) to that index. Scanning a table requires having a lock on the relation. Scanning the index itself doesn&#039;t require locking, but you&#039;ll still have to lock the leaf partitions to access their data.&lt;br /&gt;
    1. There are schemes to make this work, using multi-pass operations&lt;br /&gt;
&lt;br /&gt;
Room:&lt;br /&gt;
4. Sizing: Individual relations are limited to 32TB, and that doesn&#039;t scale with ; is this something we want/need to solve, too?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: What&#039;s the main blocker? Is this a good idea?&lt;br /&gt;
&lt;br /&gt;
A: Primarily: VACUUM.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q1: Is the solution to VACUUM conveyor belt (mentioned yesterday)&lt;br /&gt;
&lt;br /&gt;
A: No, instead of vacuuming that partition, all partitions are VACUUMed at once, gathering the TIDs that the global index will clean up.  &lt;br /&gt;
&lt;br /&gt;
Q2: What&#039;s the status of the conveyor belt?  &lt;br /&gt;
&lt;br /&gt;
A: Hit a snag on planning VACUUM operations and [...]  &lt;br /&gt;
Response: Serializing VACUUM of a partition hierarchy is likely going to cause issues; VACUUM interrupts become incredibly much more expensive.  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: DDL is likely the most pressing issue. Conveyor belt may fix VACUUM, but DDL isn&#039;t trivial either.&lt;br /&gt;
&lt;br /&gt;
DDL Attach: 2-phase attach with first xact adding the partition as &#039;invalid&#039;, then load tuples into index, then second xact marking the partition valid.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Does sub-partitioning affect partition ID usage?&lt;br /&gt;
&lt;br /&gt;
A: No, only leaf partitions (data partitions) are included in the IDs  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: Maybe we should disallow certain operations when global indexes are involved.&lt;br /&gt;
&lt;br /&gt;
Response: Yes, that seems like a reasonable limitation&lt;br /&gt;
&lt;br /&gt;
Q: Which operations would be disallowed?&lt;br /&gt;
&lt;br /&gt;
A: On-the-fly locking of partitions accessed through a global index scan would break with leaf table insertion, so in this case we should block leaf partition -level DML.&lt;br /&gt;
&lt;br /&gt;
Comment: The main customer for Global Indexes are people coming in from Oracle, which doesn&#039;t allow direct leaf access&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: Even with 10s of 1000s of attached partitions you still win, because it&#039;ll have only few key bytes, not full rows.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: What other avenues were explored to achieve global index&#039;s features, without this current approach [single relfile index, ed.]&lt;br /&gt;
&lt;br /&gt;
A: There was a Global Unique Index approach, which had unique indexes per partition, and checked other partitions&#039; unique indexes for conflicting values.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: We need to scope it down to make it through.&lt;br /&gt;
&lt;br /&gt;
Q: How does DROP PARTITION work with Global Index?&lt;br /&gt;
&lt;br /&gt;
A: The partition ID is marked invalid, and all tuples that reference this ID will be dropped during maintenance operations.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q1: What needs to change in indexAM? &lt;br /&gt;
&lt;br /&gt;
A: minimal changes to indexes themselves.&lt;br /&gt;
&lt;br /&gt;
Q2: And REPACK/VACUUM FULL?&lt;br /&gt;
&lt;br /&gt;
A: Just rebuild the index on REPACK/VACUUM FULL.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Performance. What&#039;s the overhead for locking in Index Scans vs Global Index Scans?&lt;br /&gt;
&lt;br /&gt;
A: IS needs to scan each index, vs GIS only the global index. The number of locks is unchanged (unless runtime on-access locking is applied)&lt;br /&gt;
&lt;br /&gt;
== Commit Sequence Numbers ==&lt;br /&gt;
&lt;br /&gt;
(Incomplete notes by mmeent)&lt;br /&gt;
&lt;br /&gt;
There are several implementations. Jeff (organizer) wants to talk about changes in visibility semantics that we need to discuss and agree on.&lt;br /&gt;
&lt;br /&gt;
First, PG has different visibility semantics on Primary vs replica (causes &amp;quot;Long Fork&amp;quot; anomaly):&lt;br /&gt;
&lt;br /&gt;
* Replica visibility is determined by LSN/replay order.&lt;br /&gt;
* Primary visibility order is determined by persistence window, and prock lock ordering.&lt;br /&gt;
&lt;br /&gt;
With CNS we have an opportunity to allow readers to determine the visibility interpretation of the system: record created vs record flushed vs record replicated.&lt;br /&gt;
&lt;br /&gt;
Comment: May cause problems with hint bits&lt;br /&gt;
&lt;br /&gt;
Q: Are we considering CSN for Long Fork, or are we considering CSN for faster snapshots? They don&#039;t strictly need to be combined.&lt;br /&gt;
&lt;br /&gt;
A: [...]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: Combining both is likely to make the patch unnecessarily complicated.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Please clarify; do you expect CSNs to be in lockstep with LSNs?&lt;br /&gt;
&lt;br /&gt;
A: From an implementation perspective this could be done, but isn&#039;t probable.&lt;br /&gt;
&lt;br /&gt;
A: If we define visibility semantics to be &lt;br /&gt;
&lt;br /&gt;
Comment: If the visibility order doesn&#039;t match WAL order we&#039;ll have to get another system.&lt;br /&gt;
&lt;br /&gt;
Andres: &amp;quot;We could also just decide we&#039;ll continue to suck.&amp;quot; ... The best approach would be to have quorum flush, but that&#039;d require proper node registration, and that has too many dependencies.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The current system has many levels of durability and that causes differences.&lt;br /&gt;
&lt;br /&gt;
Q: When should sync_commit=off vs =on release for visibility?&lt;br /&gt;
&lt;br /&gt;
A: Thought is: =off returns to the client once inserted. To maintain semantics the read-path would have &amp;quot;visible=inserted in wal&amp;quot;. If you&#039;d wait for persistence you&#039;d lose performance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: We can&#039;t have sessions&#039; sync_commit settings affect visibility semantics. &amp;quot;That way lies madness.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Comment: The covered behaviour is that sync returns after flush, async returns before WAL flush.  If CSN visibility is determined by XLOG flush location, that&#039;ll cause issues with async commits; as it would either have to wait for a sync, or might not be able to read its own writes.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suggestion: If you (a session in sync commit mode) want to see async commits, wait for the async commit is synced (or issue the sync yourself).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: We should agree on anomalies like &amp;quot;async sessions sees something == sync session sees that (or later) data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Comment: The problem is that durability is decoupled from visibility; LSN order &amp;lt;&amp;gt; visibility order with mixed sync_commit=off|local|remote_write|remote_apply.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Do we want sync commits to see async commits? &lt;br /&gt;
&lt;br /&gt;
A: Sync commits wait for async-but-visible commits to be synced, then read their data.&lt;br /&gt;
&lt;br /&gt;
Q: Do we want async commits to see sync commits?&lt;br /&gt;
&lt;br /&gt;
A: [...]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
There were some questions about how CSNs in a logical replication context would relate to MySQL&#039;s GTIDs. CSNs themselves (as currently proposed, with a 64-bit counter) wouldn&#039;t provide an equivalent to GTID.  A global transaction order would need to be managed by an external program.&lt;br /&gt;
&lt;br /&gt;
== Scaling pg_stat_statements ==&lt;br /&gt;
&lt;br /&gt;
[[Scalability of pg_stat_statements]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feedback-based Query Optimization ==&lt;br /&gt;
&lt;br /&gt;
[[pgconfdev2026 Feedback-based Query Optimization]]&lt;br /&gt;
&lt;br /&gt;
== Postgres CI ==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1O-QtTaeajoTbO6epDTQoGnafld3LVvk8rkdD9yAUsUg/edit?slide=id.g3e9d54500dd_0_0#slide=id.g3e9d54500dd_0_0 Bilal&#039;s Slides]&lt;br /&gt;
[https://www.postgresql.org/message-id/flat/DIM49A100EY1.2YFS2A6WAI3ZJ%40jeltef.nl#845813013b1995cc81b850761a989b4f Mailing list thread]&lt;br /&gt;
&lt;br /&gt;
* Cirrus CI will shut down June 1st&lt;br /&gt;
* We need to find another CI provider&lt;br /&gt;
* Bilal has done some tests using GitHub Actions as a CI runner&lt;br /&gt;
* Jelte independently has done tests on GitHub Actions as well&lt;br /&gt;
&lt;br /&gt;
Problems we want to solve:&lt;br /&gt;
* Runtime&lt;br /&gt;
* Compute limitations&lt;br /&gt;
* Public logs (Cirrus CI had public logs, everyone can read them)&lt;br /&gt;
* Connecting to a test environment&lt;br /&gt;
* Supporting different operating systems&lt;br /&gt;
&lt;br /&gt;
CFBot will be broken in any case&lt;br /&gt;
&lt;br /&gt;
Looked at a couple of alternatives [[CI Providers]]&lt;br /&gt;
&lt;br /&gt;
* GitHub Actions is good because unlimited for public repositories&lt;br /&gt;
* 20 concurrent jobs for GitHub Actions (might be able to get that lifted)&lt;br /&gt;
* Could also host our own runners if we need to&lt;br /&gt;
&lt;br /&gt;
What is a runner in this context?&lt;br /&gt;
&lt;br /&gt;
* Its a VM in some environment that starts the test&lt;br /&gt;
* We did that with Cirrus already, but it has some level of isolation between runs&lt;br /&gt;
* The basic infrastructure in GitHub has no isolation, which is a problem&lt;br /&gt;
* Would have to preprovision VMs to make that work, would need more compute&lt;br /&gt;
&lt;br /&gt;
Peter: Ran into a problem with using up credits in Cirrus CI&lt;br /&gt;
&lt;br /&gt;
* This is much better with GitHub Actions (credits don&#039;t run out)&lt;br /&gt;
&lt;br /&gt;
Thomas: Jelte&#039;s test got all operating systems going, did that use nested virtualization?&lt;br /&gt;
&lt;br /&gt;
* Yes, that was running nested containers, that&#039;s why OpenBSD takes 34 minutes&lt;br /&gt;
* If that&#039;s what was done, could we use that on our local machines?&lt;br /&gt;
* That&#039;d be the dream if we could do that&lt;br /&gt;
* Andres: The problem is that you can&#039;t just download them every time, its a lot of network I/O&lt;br /&gt;
* With Cirrus CI it just downloaded the part of the image it needed, that&#039;s why that worked&lt;br /&gt;
* To do that efficiently we&#039;d need our own CI infrastructure&lt;br /&gt;
&lt;br /&gt;
Peter: There are a bunch of other projects that use CirrusCI that are in trouble (e.g. pgbouncer)&lt;br /&gt;
&lt;br /&gt;
* Let&#039;s keep in mind what the other projects could do&lt;br /&gt;
&lt;br /&gt;
It would be interesting to check how well the current disk image compresses&lt;br /&gt;
&lt;br /&gt;
Andres: We should consider skipping BSDs initially for expediency (regarding the deadline of June 1st)&lt;br /&gt;
&lt;br /&gt;
Peter: We have one week - should we at least provisionally go with GitHub Actions?&lt;br /&gt;
&lt;br /&gt;
* Andres: Yes&lt;br /&gt;
* Then come back to looking at alternatives&lt;br /&gt;
* Peter G: I already thought that&#039;s what we&#039;re going to do - I don&#039;t see any reason not do that&lt;br /&gt;
&lt;br /&gt;
Most important things are Linux, Windows, MacOS, Compiler Warnings/ASAN&lt;br /&gt;
&lt;br /&gt;
* Thomas: If macOS compiles, the BSDs are going to compile and run&lt;br /&gt;
&lt;br /&gt;
Michael: Windows has been super helpful&lt;br /&gt;
&lt;br /&gt;
Peter G: Don&#039;t we use FreeBSD for some other checks, debug parallel query, etc?&lt;br /&gt;
&lt;br /&gt;
* The official FreeBSD website has 600MB VM images, might be small enough?&lt;br /&gt;
* Andres: Unclear how much the dependencies add?&lt;br /&gt;
&lt;br /&gt;
With Cirrus you can use your own images, with GitHub you can&#039;t&lt;br /&gt;
&lt;br /&gt;
Its very recent that you can use QEMU on GitHub (nested virtualization wasn&#039;t allowed previously, it is now)&lt;br /&gt;
&lt;br /&gt;
David: Sent a link in Discord re: action using BSD&lt;br /&gt;
&lt;br /&gt;
Peter G: So we have a patch right?&lt;br /&gt;
&lt;br /&gt;
* Yes&lt;br /&gt;
* Runtimes are a bit longer compared to Cirrus CI, but not too much&lt;br /&gt;
* Windows 20-25 minutes on GitHub Actions, Cirrus CI was faster mostly (15-25 minutes)&lt;br /&gt;
* Andres: I want to commit this early next week, so we have some days of overlap&lt;br /&gt;
* Its also going to make it easier to move CFbot over&lt;br /&gt;
&lt;br /&gt;
Can you show how logs / file uploads look like?&lt;br /&gt;
&lt;br /&gt;
* Similar, but for artifacts you need to download a zip file&lt;br /&gt;
* Need a GitHub account to view the logs, will accept that for now&lt;br /&gt;
&lt;br /&gt;
David: Do we care about ARM64/etc?&lt;br /&gt;
&lt;br /&gt;
* Andres: We care about 32-bit builds, that will catch some bugs&lt;br /&gt;
* Bilal: That&#039;s done (32-bit)&lt;br /&gt;
&lt;br /&gt;
Should we have some helper scripts in addition to GitHub actions?&lt;br /&gt;
&lt;br /&gt;
* Might be better to have in one place?&lt;br /&gt;
* Andres: Motivation for helper scripts would be that it&#039;d make it easier to share code between platforms&lt;br /&gt;
* Peter E: Could run it locally to test things&lt;br /&gt;
&lt;br /&gt;
Andres: I&#039;d want to backpatch this, wanted to check&lt;br /&gt;
&lt;br /&gt;
* Thomas: Agreed&lt;br /&gt;
* Peter E: Down to 14?&lt;br /&gt;
* Andres: 15, we don&#039;t have 14 at the moment in Cirrus&lt;br /&gt;
* Windows would be painful to do on 14&lt;br /&gt;
* Michael: Seems the cost is too high given the fact we&#039;re only 6 months out from PG14 being EOL&lt;br /&gt;
&lt;br /&gt;
What coverage are we going for (just check world?)&lt;br /&gt;
&lt;br /&gt;
* Same as Cirrus basically, just won&#039;t be able to do the BSDs initially&lt;br /&gt;
&lt;br /&gt;
Thomas: To feed the results from GH actions into CFbot, not clear how to do it&lt;br /&gt;
&lt;br /&gt;
* Bilal: Was already planning to look into it&lt;br /&gt;
* Thomas: Will probably turn off the stuff that examines the logs&lt;br /&gt;
* Andres: Might have to call back into GitHub and use a token to not get rate limited&lt;br /&gt;
&lt;br /&gt;
Peter E: There is logic in the commitfest app when CI is failing, need to check how that interacts&lt;br /&gt;
&lt;br /&gt;
* Thomas: The way it works is that Cirrus sends a status change to a web hook, and CFbot feeds that into the CF app&lt;br /&gt;
* Only the CFbot needs to be changed&lt;br /&gt;
* If you make this work in regular GitHub accounts, it will also work for CFbot&lt;br /&gt;
&lt;br /&gt;
Debian vs Ubuntu&lt;br /&gt;
&lt;br /&gt;
* Debian requires containers, Ubuntu does not&lt;br /&gt;
* Peter E: Should be fine to do Ubuntu&lt;br /&gt;
* Andres: Should check if we can use our containers without too much overhead&lt;br /&gt;
* Peter E: Where do you host the containers?&lt;br /&gt;
* Andres: Currently in Google, should probably move them to make it cheaper (somewhere to GitHub)&lt;br /&gt;
&lt;br /&gt;
Peter E: What compiler is the Windows job using?&lt;br /&gt;
&lt;br /&gt;
* Bilal: MSVC 2022&lt;br /&gt;
* Peter E: How can we get 2019 tested?&lt;br /&gt;
* Tristan: You can specify it using the matrix (and its part of the image)&lt;br /&gt;
&lt;br /&gt;
Andres: Lets just remove MSVC 2019 support&lt;br /&gt;
* Thomas: I don&#039;t know why we do it, its already unsupported officially by Microsoft&lt;br /&gt;
* Peter E: I was cautious because not sure how Windows users use their system, but maybe with Windows the coupling is not as tight&lt;br /&gt;
* Andres: They actually removed installers for specific MSVC compiler versions after 2019 (its one link, the next time you rebuild the image it gets a newer one)&lt;br /&gt;
&lt;br /&gt;
For Windows, the GitHub Actions images have more things installed&lt;br /&gt;
* Bilal: We might not have to build Windows images anymore (and not hardcode OpenSSL version)&lt;br /&gt;
* Andres: One problem with Chocolatey is that they have broken binaries, also sometimes a lot slower&lt;br /&gt;
* Pavlo: WinGet?&lt;br /&gt;
* Andres: Doesn&#039;t have several packages we need&lt;br /&gt;
&lt;br /&gt;
Connecting to test environment&lt;br /&gt;
* Not currently out of the box in GitHub Actions, possibly via a third-party SSH action?&lt;br /&gt;
* Is that solved by GitHub Workspace?&lt;br /&gt;
* Someone could try that out&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== How to do HA with Physical Replication ==&lt;br /&gt;
&lt;br /&gt;
=== HA Orchestrators (physical repl) ===&lt;br /&gt;
&lt;br /&gt;
Patroni, Stolon, pg_auto_failover, repmgr, CloudNativePG, Consul?&lt;br /&gt;
&lt;br /&gt;
=== Promotions/Transitions and Correctness ===&lt;br /&gt;
&lt;br /&gt;
* Cluster config changes: &amp;lt;code&amp;gt;sync_standby_names&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sync_commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* SyncRep waits in commit (canceled xact issue, etc.)&lt;br /&gt;
* Knowing write/flush/replay LSNs&lt;br /&gt;
* Old primary: &amp;lt;code&amp;gt;pg_rewind&amp;lt;/code&amp;gt; and accepting workload after conversion to replica&lt;br /&gt;
* Any issues around timeline management?&lt;br /&gt;
** Latest timeline — issues reconstructing from history file&lt;br /&gt;
&lt;br /&gt;
==== Discussion Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andrey:&#039;&#039;&#039; Should we have cluster orchestration like Patroni in core?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Laurenze:&#039;&#039;&#039; PG is supported on many OS &amp;amp; platforms — needs to work everywhere&lt;br /&gt;
* HA is an enterprise requirement — table stakes&lt;br /&gt;
* &#039;&#039;&#039;Philippe:&#039;&#039;&#039; Want to control tradeoffs around availability vs. durability; have worked systems with debates around how tradeoffs should be made. Correctness is a high priority; maybe some people want to relax this&lt;br /&gt;
* &#039;&#039;&#039;Mohamed:&#039;&#039;&#039; It&#039;s possible to make tradeoffs configurable — maximizing durability, performance, availability (example from Oracle Data Guard)&lt;br /&gt;
* &#039;&#039;&#039;Laurenze:&#039;&#039;&#039; Maybe we have too much configuration? Can set &amp;lt;code&amp;gt;synchronous_commit&amp;lt;/code&amp;gt; at transaction level&lt;br /&gt;
&lt;br /&gt;
Is the discussion around automated failover almost a discussion around consensus?&lt;br /&gt;
&lt;br /&gt;
The way you do fencing can vary depending on what hardware or infrastructure you&#039;re running on:&lt;br /&gt;
* Can you fence with network? Do you have access to hardware?&lt;br /&gt;
&lt;br /&gt;
Are there ways protocol changes could make these problems easier to solve?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jeremy:&#039;&#039;&#039; Does &amp;lt;code&amp;gt;synchronous_commit=remote_write&amp;lt;/code&amp;gt; mean you can lose data? (Probably not?)&lt;br /&gt;
* Do we KNOW if it happened or not?&lt;br /&gt;
&lt;br /&gt;
We need to be able to explain tradeoffs to people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oleksii:&#039;&#039;&#039; Would be nice to see something like &amp;lt;code&amp;gt;pg_ctl demote&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Aware of replicas — say to primary &amp;quot;demote&amp;quot; — primary waits for replicas&lt;br /&gt;
* Part of switchover: block incoming connections, wait for replication; goes hand-in-hand (before) &amp;lt;code&amp;gt;pg_promote&amp;lt;/code&amp;gt;&lt;br /&gt;
* Sentinel record in WAL stream saying primary is definitely down&lt;br /&gt;
&lt;br /&gt;
==== More Discussion Notes ====&lt;br /&gt;
&lt;br /&gt;
for switchover ubicloud relies on https://github.com/ubicloud/ubicloud/blob/main/rhizome/postgres/lib/postgres_lockout.rb&lt;br /&gt;
&lt;br /&gt;
on aws EIP based failover was fast enough that after lockout it was sufficient to just go with usual failover path on switchover&lt;br /&gt;
on azure, where I got to maintain port of Citus Cloud, failover was slow (poweroff could be hanging because vm host down, in which case next step was destroy vm which could take 10 minutes), so for switchover I implemented &amp;quot;soft failover&amp;quot; which would trash the system with chmod -x while killing postgres processes, allowing us to act as if it was fenced&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
promoting a node when it&#039;s time to promote a node, we have nothing to do this in core. patroni in core?&lt;br /&gt;
&lt;br /&gt;
would be nice, but portability. maintenance burden? what is HA? HA vs durability&lt;br /&gt;
&lt;br /&gt;
oracle makes this adjustable (maximize availability vs maximize durability vs maximum performance), patroni has this too apparently&lt;br /&gt;
&lt;br /&gt;
postgres has too many knobs already: durability knobs per transaction. semantics here are unclear. (this was reviving previous commit sequence number discussion)&lt;br /&gt;
&lt;br /&gt;
goal is to not lose transactions. flushlsn/replaylsn/receievelsn how does ANY 2 replication choose what to promote to?&lt;br /&gt;
&lt;br /&gt;
how do you prepare for promote? change to read only? fence? failover vs switchover. fencing mechanism differs by environment, is inherently tribal (some rely on undocumented AWS behavior with EIP, azure you need to poweroff/terminate/destroy vm)&lt;br /&gt;
&lt;br /&gt;
when people own their own hardware, they might rely on actual reboot/poweroff of node. Quorum can get around this a bit by being able to maintain consistency without fencing&lt;br /&gt;
&lt;br /&gt;
what data loss guarantees do we have? can we at least know that data loss didn&#039;t happen usually?&lt;br /&gt;
&lt;br /&gt;
extreme end: no accepting new wal until quorum regained&lt;br /&gt;
&lt;br /&gt;
=== Replication Slot Management ===&lt;br /&gt;
&lt;br /&gt;
* Logical slot HA (&amp;lt;code&amp;gt;failover=true&amp;lt;/code&amp;gt; on standby)&lt;br /&gt;
&lt;br /&gt;
logical slot failover slots have problems where you have to use physical slots &amp;amp; if slot isn&#039;t advancing that can block switchover. wal slot grows indefinitely if using pg_logical_emit_message non-transactionally on system with no transactions&lt;br /&gt;
&lt;br /&gt;
if slot not advancing impacts vacuum etc. maintenance script needs to generate activity&lt;br /&gt;
&lt;br /&gt;
Right now there&#039;s the issue that you need physical slots. You have slot sync running on the side; logical slots don&#039;t copy until there&#039;s activity:&lt;br /&gt;
* Maintenance — can&#039;t fail back because there wasn&#039;t activity to advance slot&lt;br /&gt;
* Not good quality of life&lt;br /&gt;
* Running systems can have keepalive or background activity&lt;br /&gt;
* If slot is not advancing, there are bigger issues&lt;br /&gt;
* There should be background activity that causes slots to advance&lt;br /&gt;
&lt;br /&gt;
=== Standby Topics ===&lt;br /&gt;
&lt;br /&gt;
* Hot standby feedback and bloat&lt;br /&gt;
* Autovac truncation&lt;br /&gt;
&lt;br /&gt;
=== Missing First Principles ===&lt;br /&gt;
&lt;br /&gt;
what is an overarching idea to help this situation? ALTER SYSTEM READ ONLY. standby-quorum fencing. or protocol where primary cooperates independently in split-brain scenarios (needs way for primary to know this is happening)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ALTER SYSTEM READ ONLY&amp;lt;/code&amp;gt;?&lt;br /&gt;
* For switchover — ability to make primary read-only&lt;br /&gt;
&lt;br /&gt;
Not really any cluster awareness in Postgres?&lt;br /&gt;
* Writer has: &amp;lt;code&amp;gt;sync_standby_names&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;replication_status&amp;lt;/code&amp;gt;&lt;br /&gt;
* Standby does not know&lt;br /&gt;
&lt;br /&gt;
standby doesn&#039;t know what&#039;s going on in rest of cluster, just what wal it receives. pg_nodes? replicated sync_standby_names (but need name mapping)?&lt;br /&gt;
&lt;br /&gt;
Global table? &amp;lt;code&amp;gt;pg_nodes&amp;lt;/code&amp;gt; or something?&lt;br /&gt;
&lt;br /&gt;
Should value of &amp;lt;code&amp;gt;sync_standby_names&amp;lt;/code&amp;gt; be replicated? Need &amp;lt;code&amp;gt;primary_conninfo&amp;lt;/code&amp;gt; too.&lt;br /&gt;
&lt;br /&gt;
Could standbys agree a primary is unavailable?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What Other Optimizer Stats Do We Want ==&lt;br /&gt;
&lt;br /&gt;
Out of scope:&lt;br /&gt;
* join statistics (separate topic)&lt;br /&gt;
* adaptive statistics as the query is running (previous session)&lt;br /&gt;
&lt;br /&gt;
Ideas:&lt;br /&gt;
* (Peter E.) statistics about what is in memory (replaces effective_cache_size, use mincore (portability?))&lt;br /&gt;
** might get obsolete with AIO&lt;br /&gt;
* collect stats in streaming (incremental) way, for large tables there is a 3 mio. row limit&lt;br /&gt;
** nr. of buckets, sample size is currently coupled&lt;br /&gt;
** dynamic sampling (like in Oracle?)&lt;br /&gt;
** disable sampling&lt;br /&gt;
* (David R.) getting statistics from indexes has been problematic&lt;br /&gt;
** might be better via extension points&lt;br /&gt;
* JOB (Join Order Benchmark) 2x better with more complete statistics&lt;br /&gt;
* cardinality hints might be coming&lt;br /&gt;
* risk-based costing, cardinality distributions&lt;br /&gt;
** DR: model cost of one extra row&lt;br /&gt;
* Corey: store multiple versions of stats (like MS SQL Server)&lt;br /&gt;
** use it for triggering random sampling&lt;br /&gt;
* special statistics for string operations (LIKE &#039;%foo%&#039;)&lt;br /&gt;
* (Maxime) statistics for aggregates output&lt;br /&gt;
* (Feike) statistics on system (to inform cost parameters)&lt;br /&gt;
** DR: we do not model enough (e.g. tuple deforming)&lt;br /&gt;
** F: systems go through cycles, wants to adjust by time of day&lt;br /&gt;
* ML-based tuning&lt;br /&gt;
* Corey: percentage of toasted columns (makes hash tables more expensive, order of predicate processing)&lt;br /&gt;
** column width&lt;br /&gt;
** function cost could scale with datum width&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Developer_Unconference&amp;diff=43721</id>
		<title>PGConf.dev 2026 Developer Unconference</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Developer_Unconference&amp;diff=43721"/>
		<updated>2026-06-09T10:51:49Z</updated>

		<summary type="html">&lt;p&gt;Petere: add new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The unconference at [[PGConf.dev 2026]] will be organized by Andres Freund and Nathan Bossart. Please add notes about individual sessions here! You can either include them in the body of the page, or put them on another page and link from here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you feel that your session cannot be productive without a particular conference attendee present, please ask their permission to include them as a &amp;quot;required attendee&amp;quot; for your proposal.  The organizers will use this information to minimize scheduling conflicts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Postgres and Other Communities ==&lt;br /&gt;
&lt;br /&gt;
So many ideas and suggestions on the notes page! [https://wiki.postgresql.org/wiki/PGConf.dev_2026_Developer_Unconference/Postgres_and_other_communities]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Global Index ==&lt;br /&gt;
&lt;br /&gt;
We want global indexes, because:&lt;br /&gt;
&lt;br /&gt;
* Allows unique constraints on non-partition keys.&lt;br /&gt;
* Scan on one index is cheaper than N scans on N indexes&lt;br /&gt;
&lt;br /&gt;
3 problems:&lt;br /&gt;
&lt;br /&gt;
1. VACUUM: 1000s of partitions each must run cleanup on the same index relation; which is sized to 1000s of partitions&#039; data.&lt;br /&gt;
2. DDL: Adding &amp;amp; removing partitions requires maintenance on the global index.  How to decide whether rebuild from scratch or to apply changes with only the new/removed tuples &lt;br /&gt;
3. Locking: Scanning the global index still requires locks on all leaf tables that contribute(d) to that index. Scanning a table requires having a lock on the relation. Scanning the index itself doesn&#039;t require locking, but you&#039;ll still have to lock the leaf partitions to access their data.&lt;br /&gt;
    1. There are schemes to make this work, using multi-pass operations&lt;br /&gt;
&lt;br /&gt;
Room:&lt;br /&gt;
4. Sizing: Individual relations are limited to 32TB, and that doesn&#039;t scale with ; is this something we want/need to solve, too?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: What&#039;s the main blocker? Is this a good idea?&lt;br /&gt;
&lt;br /&gt;
A: Primarily: VACUUM.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q1: Is the solution to VACUUM conveyor belt (mentioned yesterday)&lt;br /&gt;
&lt;br /&gt;
A: No, instead of vacuuming that partition, all partitions are VACUUMed at once, gathering the TIDs that the global index will clean up.  &lt;br /&gt;
&lt;br /&gt;
Q2: What&#039;s the status of the conveyor belt?  &lt;br /&gt;
&lt;br /&gt;
A: Hit a snag on planning VACUUM operations and [...]  &lt;br /&gt;
Response: Serializing VACUUM of a partition hierarchy is likely going to cause issues; VACUUM interrupts become incredibly much more expensive.  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: DDL is likely the most pressing issue. Conveyor belt may fix VACUUM, but DDL isn&#039;t trivial either.&lt;br /&gt;
&lt;br /&gt;
DDL Attach: 2-phase attach with first xact adding the partition as &#039;invalid&#039;, then load tuples into index, then second xact marking the partition valid.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Does sub-partitioning affect partition ID usage?&lt;br /&gt;
&lt;br /&gt;
A: No, only leaf partitions (data partitions) are included in the IDs  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: Maybe we should disallow certain operations when global indexes are involved.&lt;br /&gt;
&lt;br /&gt;
Response: Yes, that seems like a reasonable limitation&lt;br /&gt;
&lt;br /&gt;
Q: Which operations would be disallowed?&lt;br /&gt;
&lt;br /&gt;
A: On-the-fly locking of partitions accessed through a global index scan would break with leaf table insertion, so in this case we should block leaf partition -level DML.&lt;br /&gt;
&lt;br /&gt;
Comment: The main customer for Global Indexes are people coming in from Oracle, which doesn&#039;t allow direct leaf access&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: Even with 10s of 1000s of attached partitions you still win, because it&#039;ll have only few key bytes, not full rows.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: What other avenues were explored to achieve global index&#039;s features, without this current approach [single relfile index, ed.]&lt;br /&gt;
&lt;br /&gt;
A: There was a Global Unique Index approach, which had unique indexes per partition, and checked other partitions&#039; unique indexes for conflicting values.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: We need to scope it down to make it through.&lt;br /&gt;
&lt;br /&gt;
Q: How does DROP PARTITION work with Global Index?&lt;br /&gt;
&lt;br /&gt;
A: The partition ID is marked invalid, and all tuples that reference this ID will be dropped during maintenance operations.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q1: What needs to change in indexAM? &lt;br /&gt;
&lt;br /&gt;
A: minimal changes to indexes themselves.&lt;br /&gt;
&lt;br /&gt;
Q2: And REPACK/VACUUM FULL?&lt;br /&gt;
&lt;br /&gt;
A: Just rebuild the index on REPACK/VACUUM FULL.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Performance. What&#039;s the overhead for locking in Index Scans vs Global Index Scans?&lt;br /&gt;
&lt;br /&gt;
A: IS needs to scan each index, vs GIS only the global index. The number of locks is unchanged (unless runtime on-access locking is applied)&lt;br /&gt;
&lt;br /&gt;
== Commit Sequence Numbers ==&lt;br /&gt;
&lt;br /&gt;
(Incomplete notes by mmeent)&lt;br /&gt;
&lt;br /&gt;
There are several implementations. Jeff (organizer) wants to talk about changes in visibility semantics that we need to discuss and agree on.&lt;br /&gt;
&lt;br /&gt;
First, PG has different visibility semantics on Primary vs replica (causes &amp;quot;Long Fork&amp;quot; anomaly):&lt;br /&gt;
&lt;br /&gt;
* Replica visibility is determined by LSN/replay order.&lt;br /&gt;
* Primary visibility order is determined by persistence window, and prock lock ordering.&lt;br /&gt;
&lt;br /&gt;
With CNS we have an opportunity to allow readers to determine the visibility interpretation of the system: record created vs record flushed vs record replicated.&lt;br /&gt;
&lt;br /&gt;
Comment: May cause problems with hint bits&lt;br /&gt;
&lt;br /&gt;
Q: Are we considering CSN for Long Fork, or are we considering CSN for faster snapshots? They don&#039;t strictly need to be combined.&lt;br /&gt;
&lt;br /&gt;
A: [...]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: Combining both is likely to make the patch unnecessarily complicated.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Please clarify; do you expect CSNs to be in lockstep with LSNs?&lt;br /&gt;
&lt;br /&gt;
A: From an implementation perspective this could be done, but isn&#039;t probable.&lt;br /&gt;
&lt;br /&gt;
A: If we define visibility semantics to be &lt;br /&gt;
&lt;br /&gt;
Comment: If the visibility order doesn&#039;t match WAL order we&#039;ll have to get another system.&lt;br /&gt;
&lt;br /&gt;
Andres: &amp;quot;We could also just decide we&#039;ll continue to suck.&amp;quot; ... The best approach would be to have quorum flush, but that&#039;d require proper node registration, and that has too many dependencies.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The current system has many levels of durability and that causes differences.&lt;br /&gt;
&lt;br /&gt;
Q: When should sync_commit=off vs =on release for visibility?&lt;br /&gt;
&lt;br /&gt;
A: Thought is: =off returns to the client once inserted. To maintain semantics the read-path would have &amp;quot;visible=inserted in wal&amp;quot;. If you&#039;d wait for persistence you&#039;d lose performance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: We can&#039;t have sessions&#039; sync_commit settings affect visibility semantics. &amp;quot;That way lies madness.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Comment: The covered behaviour is that sync returns after flush, async returns before WAL flush.  If CSN visibility is determined by XLOG flush location, that&#039;ll cause issues with async commits; as it would either have to wait for a sync, or might not be able to read its own writes.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suggestion: If you (a session in sync commit mode) want to see async commits, wait for the async commit is synced (or issue the sync yourself).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Comment: We should agree on anomalies like &amp;quot;async sessions sees something == sync session sees that (or later) data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Comment: The problem is that durability is decoupled from visibility; LSN order &amp;lt;&amp;gt; visibility order with mixed sync_commit=off|local|remote_write|remote_apply.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q: Do we want sync commits to see async commits? &lt;br /&gt;
&lt;br /&gt;
A: Sync commits wait for async-but-visible commits to be synced, then read their data.&lt;br /&gt;
&lt;br /&gt;
Q: Do we want async commits to see sync commits?&lt;br /&gt;
&lt;br /&gt;
A: [...]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
There were some questions about how CSNs in a logical replication context would relate to MySQL&#039;s GTIDs. CSNs themselves (as currently proposed, with a 64-bit counter) wouldn&#039;t provide an equivalent to GTID.  A global transaction order would need to be managed by an external program.&lt;br /&gt;
&lt;br /&gt;
== Scaling pg_stat_statements ==&lt;br /&gt;
&lt;br /&gt;
[[Scalability of pg_stat_statements]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feedback-based Query Optimization ==&lt;br /&gt;
&lt;br /&gt;
[[pgconfdev2026 Feedback-based Query Optimization]]&lt;br /&gt;
&lt;br /&gt;
== Postgres CI ==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1O-QtTaeajoTbO6epDTQoGnafld3LVvk8rkdD9yAUsUg/edit?slide=id.g3e9d54500dd_0_0#slide=id.g3e9d54500dd_0_0 Bilal&#039;s Slides]&lt;br /&gt;
[https://www.postgresql.org/message-id/flat/DIM49A100EY1.2YFS2A6WAI3ZJ%40jeltef.nl#845813013b1995cc81b850761a989b4f Mailing list thread]&lt;br /&gt;
&lt;br /&gt;
* Cirrus CI will shut down June 1st&lt;br /&gt;
* We need to find another CI provider&lt;br /&gt;
* Bilal has done some tests using GitHub Actions as a CI runner&lt;br /&gt;
* Jelte independently has done tests on GitHub Actions as well&lt;br /&gt;
&lt;br /&gt;
Problems we want to solve:&lt;br /&gt;
* Runtime&lt;br /&gt;
* Compute limitations&lt;br /&gt;
* Public logs (Cirrus CI had public logs, everyone can read them)&lt;br /&gt;
* Connecting to a test environment&lt;br /&gt;
* Supporting different operating systems&lt;br /&gt;
&lt;br /&gt;
CFBot will be broken in any case&lt;br /&gt;
&lt;br /&gt;
Looked at a couple of alternatives [[CI Providers]]&lt;br /&gt;
&lt;br /&gt;
* GitHub Actions is good because unlimited for public repositories&lt;br /&gt;
* 20 concurrent jobs for GitHub Actions (might be able to get that lifted)&lt;br /&gt;
* Could also host our own runners if we need to&lt;br /&gt;
&lt;br /&gt;
What is a runner in this context?&lt;br /&gt;
&lt;br /&gt;
* Its a VM in some environment that starts the test&lt;br /&gt;
* We did that with Cirrus already, but it has some level of isolation between runs&lt;br /&gt;
* The basic infrastructure in GitHub has no isolation, which is a problem&lt;br /&gt;
* Would have to preprovision VMs to make that work, would need more compute&lt;br /&gt;
&lt;br /&gt;
Peter: Ran into a problem with using up credits in Cirrus CI&lt;br /&gt;
&lt;br /&gt;
* This is much better with GitHub Actions (credits don&#039;t run out)&lt;br /&gt;
&lt;br /&gt;
Thomas: Jelte&#039;s test got all operating systems going, did that use nested virtualization?&lt;br /&gt;
&lt;br /&gt;
* Yes, that was running nested containers, that&#039;s why OpenBSD takes 34 minutes&lt;br /&gt;
* If that&#039;s what was done, could we use that on our local machines?&lt;br /&gt;
* That&#039;d be the dream if we could do that&lt;br /&gt;
* Andres: The problem is that you can&#039;t just download them every time, its a lot of network I/O&lt;br /&gt;
* With Cirrus CI it just downloaded the part of the image it needed, that&#039;s why that worked&lt;br /&gt;
* To do that efficiently we&#039;d need our own CI infrastructure&lt;br /&gt;
&lt;br /&gt;
Peter: There are a bunch of other projects that use CirrusCI that are in trouble (e.g. pgbouncer)&lt;br /&gt;
&lt;br /&gt;
* Let&#039;s keep in mind what the other projects could do&lt;br /&gt;
&lt;br /&gt;
It would be interesting to check how well the current disk image compresses&lt;br /&gt;
&lt;br /&gt;
Andres: We should consider skipping BSDs initially for expediency (regarding the deadline of June 1st)&lt;br /&gt;
&lt;br /&gt;
Peter: We have one week - should we at least provisionally go with GitHub Actions?&lt;br /&gt;
&lt;br /&gt;
* Andres: Yes&lt;br /&gt;
* Then come back to looking at alternatives&lt;br /&gt;
* Peter G: I already thought that&#039;s what we&#039;re going to do - I don&#039;t see any reason not do that&lt;br /&gt;
&lt;br /&gt;
Most important things are Linux, Windows, MacOS, Compiler Warnings/ASAN&lt;br /&gt;
&lt;br /&gt;
* Thomas: If macOS compiles, the BSDs are going to compile and run&lt;br /&gt;
&lt;br /&gt;
Michael: Windows has been super helpful&lt;br /&gt;
&lt;br /&gt;
Peter G: Don&#039;t we use FreeBSD for some other checks, debug parallel query, etc?&lt;br /&gt;
&lt;br /&gt;
* The official FreeBSD website has 600MB VM images, might be small enough?&lt;br /&gt;
* Andres: Unclear how much the dependencies add?&lt;br /&gt;
&lt;br /&gt;
With Cirrus you can use your own images, with GitHub you can&#039;t&lt;br /&gt;
&lt;br /&gt;
Its very recent that you can use QEMU on GitHub (nested virtualization wasn&#039;t allowed previously, it is now)&lt;br /&gt;
&lt;br /&gt;
David: Sent a link in Discord re: action using BSD&lt;br /&gt;
&lt;br /&gt;
Peter G: So we have a patch right?&lt;br /&gt;
&lt;br /&gt;
* Yes&lt;br /&gt;
* Runtimes are a bit longer compared to Cirrus CI, but not too much&lt;br /&gt;
* Windows 20-25 minutes on GitHub Actions, Cirrus CI was faster mostly (15-25 minutes)&lt;br /&gt;
* Andres: I want to commit this early next week, so we have some days of overlap&lt;br /&gt;
* Its also going to make it easier to move CFbot over&lt;br /&gt;
&lt;br /&gt;
Can you show how logs / file uploads look like?&lt;br /&gt;
&lt;br /&gt;
* Similar, but for artifacts you need to download a zip file&lt;br /&gt;
* Need a GitHub account to view the logs, will accept that for now&lt;br /&gt;
&lt;br /&gt;
David: Do we care about ARM64/etc?&lt;br /&gt;
&lt;br /&gt;
* Andres: We care about 32-bit builds, that will catch some bugs&lt;br /&gt;
* Bilal: That&#039;s done (32-bit)&lt;br /&gt;
&lt;br /&gt;
Should we have some helper scripts in addition to GitHub actions?&lt;br /&gt;
&lt;br /&gt;
* Might be better to have in one place?&lt;br /&gt;
* Andres: Motivation for helper scripts would be that it&#039;d make it easier to share code between platforms&lt;br /&gt;
* Peter E: Could run it locally to test things&lt;br /&gt;
&lt;br /&gt;
Andres: I&#039;d want to backpatch this, wanted to check&lt;br /&gt;
&lt;br /&gt;
* Thomas: Agreed&lt;br /&gt;
* Peter E: Down to 14?&lt;br /&gt;
* Andres: 15, we don&#039;t have 14 at the moment in Cirrus&lt;br /&gt;
* Windows would be painful to do on 14&lt;br /&gt;
* Michael: Seems the cost is too high given the fact we&#039;re only 6 months out from PG14 being EOL&lt;br /&gt;
&lt;br /&gt;
What coverage are we going for (just check world?)&lt;br /&gt;
&lt;br /&gt;
* Same as Cirrus basically, just won&#039;t be able to do the BSDs initially&lt;br /&gt;
&lt;br /&gt;
Thomas: To feed the results from GH actions into CFbot, not clear how to do it&lt;br /&gt;
&lt;br /&gt;
* Bilal: Was already planning to look into it&lt;br /&gt;
* Thomas: Will probably turn off the stuff that examines the logs&lt;br /&gt;
* Andres: Might have to call back into GitHub and use a token to not get rate limited&lt;br /&gt;
&lt;br /&gt;
Peter E: There is logic in the commitfest app when CI is failing, need to check how that interacts&lt;br /&gt;
&lt;br /&gt;
* Thomas: The way it works is that Cirrus sends a status change to a web hook, and CFbot feeds that into the CF app&lt;br /&gt;
* Only the CFbot needs to be changed&lt;br /&gt;
* If you make this work in regular GitHub accounts, it will also work for CFbot&lt;br /&gt;
&lt;br /&gt;
Debian vs Ubuntu&lt;br /&gt;
&lt;br /&gt;
* Debian requires containers, Ubuntu does not&lt;br /&gt;
* Peter E: Should be fine to do Ubuntu&lt;br /&gt;
* Andres: Should check if we can use our containers without too much overhead&lt;br /&gt;
* Peter E: Where do you host the containers?&lt;br /&gt;
* Andres: Currently in Google, should probably move them to make it cheaper (somewhere to GitHub)&lt;br /&gt;
&lt;br /&gt;
Peter E: What compiler is the Windows job using?&lt;br /&gt;
&lt;br /&gt;
* Bilal: MSVC 2022&lt;br /&gt;
* Peter E: How can we get 2019 tested?&lt;br /&gt;
* Tristan: You can specify it using the matrix (and its part of the image)&lt;br /&gt;
&lt;br /&gt;
Andres: Lets just remove MSVC 2019 support&lt;br /&gt;
* Thomas: I don&#039;t know why we do it, its already unsupported officially by Microsoft&lt;br /&gt;
* Peter E: I was cautious because not sure how Windows users use their system, but maybe with Windows the coupling is not as tight&lt;br /&gt;
* Andres: They actually removed installers for specific MSVC compiler versions after 2019 (its one link, the next time you rebuild the image it gets a newer one)&lt;br /&gt;
&lt;br /&gt;
For Windows, the GitHub Actions images have more things installed&lt;br /&gt;
* Bilal: We might not have to build Windows images anymore (and not hardcode OpenSSL version)&lt;br /&gt;
* Andres: One problem with Chocolatey is that they have broken binaries, also sometimes a lot slower&lt;br /&gt;
* Pavlo: WinGet?&lt;br /&gt;
* Andres: Doesn&#039;t have several packages we need&lt;br /&gt;
&lt;br /&gt;
Connecting to test environment&lt;br /&gt;
* Not currently out of the box in GitHub Actions, possibly via a third-party SSH action?&lt;br /&gt;
* Is that solved by GitHub Workspace?&lt;br /&gt;
* Someone could try that out&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== How to do HA with Physical Replication ==&lt;br /&gt;
&lt;br /&gt;
=== HA Orchestrators (physical repl) ===&lt;br /&gt;
&lt;br /&gt;
Patroni, Stolon, pg_auto_failover, repmgr, CloudNativePG, Consul?&lt;br /&gt;
&lt;br /&gt;
=== Promotions/Transitions and Correctness ===&lt;br /&gt;
&lt;br /&gt;
* Cluster config changes: &amp;lt;code&amp;gt;sync_standby_names&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sync_commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* SyncRep waits in commit (canceled xact issue, etc.)&lt;br /&gt;
* Knowing write/flush/replay LSNs&lt;br /&gt;
* Old primary: &amp;lt;code&amp;gt;pg_rewind&amp;lt;/code&amp;gt; and accepting workload after conversion to replica&lt;br /&gt;
* Any issues around timeline management?&lt;br /&gt;
** Latest timeline — issues reconstructing from history file&lt;br /&gt;
&lt;br /&gt;
==== Discussion Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andrey:&#039;&#039;&#039; Should we have cluster orchestration like Patroni in core?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Laurenze:&#039;&#039;&#039; PG is supported on many OS &amp;amp; platforms — needs to work everywhere&lt;br /&gt;
* HA is an enterprise requirement — table stakes&lt;br /&gt;
* &#039;&#039;&#039;Philippe:&#039;&#039;&#039; Want to control tradeoffs around availability vs. durability; have worked systems with debates around how tradeoffs should be made. Correctness is a high priority; maybe some people want to relax this&lt;br /&gt;
* &#039;&#039;&#039;Mohamed:&#039;&#039;&#039; It&#039;s possible to make tradeoffs configurable — maximizing durability, performance, availability (example from Oracle Data Guard)&lt;br /&gt;
* &#039;&#039;&#039;Laurenze:&#039;&#039;&#039; Maybe we have too much configuration? Can set &amp;lt;code&amp;gt;synchronous_commit&amp;lt;/code&amp;gt; at transaction level&lt;br /&gt;
&lt;br /&gt;
Is the discussion around automated failover almost a discussion around consensus?&lt;br /&gt;
&lt;br /&gt;
The way you do fencing can vary depending on what hardware or infrastructure you&#039;re running on:&lt;br /&gt;
* Can you fence with network? Do you have access to hardware?&lt;br /&gt;
&lt;br /&gt;
Are there ways protocol changes could make these problems easier to solve?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jeremy:&#039;&#039;&#039; Does &amp;lt;code&amp;gt;synchronous_commit=remote_write&amp;lt;/code&amp;gt; mean you can lose data? (Probably not?)&lt;br /&gt;
* Do we KNOW if it happened or not?&lt;br /&gt;
&lt;br /&gt;
We need to be able to explain tradeoffs to people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oleksii:&#039;&#039;&#039; Would be nice to see something like &amp;lt;code&amp;gt;pg_ctl demote&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Aware of replicas — say to primary &amp;quot;demote&amp;quot; — primary waits for replicas&lt;br /&gt;
* Part of switchover: block incoming connections, wait for replication; goes hand-in-hand (before) &amp;lt;code&amp;gt;pg_promote&amp;lt;/code&amp;gt;&lt;br /&gt;
* Sentinel record in WAL stream saying primary is definitely down&lt;br /&gt;
&lt;br /&gt;
==== More Discussion Notes ====&lt;br /&gt;
&lt;br /&gt;
for switchover ubicloud relies on https://github.com/ubicloud/ubicloud/blob/main/rhizome/postgres/lib/postgres_lockout.rb&lt;br /&gt;
&lt;br /&gt;
on aws EIP based failover was fast enough that after lockout it was sufficient to just go with usual failover path on switchover&lt;br /&gt;
on azure, where I got to maintain port of Citus Cloud, failover was slow (poweroff could be hanging because vm host down, in which case next step was destroy vm which could take 10 minutes), so for switchover I implemented &amp;quot;soft failover&amp;quot; which would trash the system with chmod -x while killing postgres processes, allowing us to act as if it was fenced&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
promoting a node when it&#039;s time to promote a node, we have nothing to do this in core. patroni in core?&lt;br /&gt;
&lt;br /&gt;
would be nice, but portability. maintenance burden? what is HA? HA vs durability&lt;br /&gt;
&lt;br /&gt;
oracle makes this adjustable (maximize availability vs maximize durability vs maximum performance), patroni has this too apparently&lt;br /&gt;
&lt;br /&gt;
postgres has too many knobs already: durability knobs per transaction. semantics here are unclear. (this was reviving previous commit sequence number discussion)&lt;br /&gt;
&lt;br /&gt;
goal is to not lose transactions. flushlsn/replaylsn/receievelsn how does ANY 2 replication choose what to promote to?&lt;br /&gt;
&lt;br /&gt;
how do you prepare for promote? change to read only? fence? failover vs switchover. fencing mechanism differs by environment, is inherently tribal (some rely on undocumented AWS behavior with EIP, azure you need to poweroff/terminate/destroy vm)&lt;br /&gt;
&lt;br /&gt;
when people own their own hardware, they might rely on actual reboot/poweroff of node. Quorum can get around this a bit by being able to maintain consistency without fencing&lt;br /&gt;
&lt;br /&gt;
what data loss guarantees do we have? can we at least know that data loss didn&#039;t happen usually?&lt;br /&gt;
&lt;br /&gt;
extreme end: no accepting new wal until quorum regained&lt;br /&gt;
&lt;br /&gt;
=== Replication Slot Management ===&lt;br /&gt;
&lt;br /&gt;
* Logical slot HA (&amp;lt;code&amp;gt;failover=true&amp;lt;/code&amp;gt; on standby)&lt;br /&gt;
&lt;br /&gt;
logical slot failover slots have problems where you have to use physical slots &amp;amp; if slot isn&#039;t advancing that can block switchover. wal slot grows indefinitely if using pg_logical_emit_message non-transactionally on system with no transactions&lt;br /&gt;
&lt;br /&gt;
if slot not advancing impacts vacuum etc. maintenance script needs to generate activity&lt;br /&gt;
&lt;br /&gt;
Right now there&#039;s the issue that you need physical slots. You have slot sync running on the side; logical slots don&#039;t copy until there&#039;s activity:&lt;br /&gt;
* Maintenance — can&#039;t fail back because there wasn&#039;t activity to advance slot&lt;br /&gt;
* Not good quality of life&lt;br /&gt;
* Running systems can have keepalive or background activity&lt;br /&gt;
* If slot is not advancing, there are bigger issues&lt;br /&gt;
* There should be background activity that causes slots to advance&lt;br /&gt;
&lt;br /&gt;
=== Standby Topics ===&lt;br /&gt;
&lt;br /&gt;
* Hot standby feedback and bloat&lt;br /&gt;
* Autovac truncation&lt;br /&gt;
&lt;br /&gt;
=== Missing First Principles ===&lt;br /&gt;
&lt;br /&gt;
what is an overarching idea to help this situation? ALTER SYSTEM READ ONLY. standby-quorum fencing. or protocol where primary cooperates independently in split-brain scenarios (needs way for primary to know this is happening)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ALTER SYSTEM READ ONLY&amp;lt;/code&amp;gt;?&lt;br /&gt;
* For switchover — ability to make primary read-only&lt;br /&gt;
&lt;br /&gt;
Not really any cluster awareness in Postgres?&lt;br /&gt;
* Writer has: &amp;lt;code&amp;gt;sync_standby_names&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;replication_status&amp;lt;/code&amp;gt;&lt;br /&gt;
* Standby does not know&lt;br /&gt;
&lt;br /&gt;
standby doesn&#039;t know what&#039;s going on in rest of cluster, just what wal it receives. pg_nodes? replicated sync_standby_names (but need name mapping)?&lt;br /&gt;
&lt;br /&gt;
Global table? &amp;lt;code&amp;gt;pg_nodes&amp;lt;/code&amp;gt; or something?&lt;br /&gt;
&lt;br /&gt;
Should value of &amp;lt;code&amp;gt;sync_standby_names&amp;lt;/code&amp;gt; be replicated? Need &amp;lt;code&amp;gt;primary_conninfo&amp;lt;/code&amp;gt; too.&lt;br /&gt;
&lt;br /&gt;
Could standbys agree a primary is unavailable?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What Other Optimizer Stats Do We Want ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Translators_and_Translation_Tooling&amp;diff=43394</id>
		<title>PGConf.dev 2026 Translators and Translation Tooling</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Translators_and_Translation_Tooling&amp;diff=43394"/>
		<updated>2026-05-06T11:58:43Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Discussion topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/543-translators-and-translation-tooling/&lt;br /&gt;
&lt;br /&gt;
= Planning =&lt;br /&gt;
&lt;br /&gt;
Please add yourself below if you plan to attend in person or remotely. This is not required, but it will help the organizers.  (In particular, if no one signs up for remote attendance, there will be no remote link.)  Remote attendees, please take note of the time that this session is scheduled for.&lt;br /&gt;
&lt;br /&gt;
== Plan to attend in person ==&lt;br /&gt;
&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Jonathan Gonzalez V.&lt;br /&gt;
* Pavlo Golub&lt;br /&gt;
* Euler Taveira&lt;br /&gt;
* Grant Zhou&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Plan to attend remotely ==&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Discussion topics ==&lt;br /&gt;
&lt;br /&gt;
Add topic proposals here:&lt;br /&gt;
&lt;br /&gt;
* External translation tools, e.g. CrowdIn, Lokalise, Phrase, Transifex, etc.&lt;br /&gt;
* AI agents to help with translations (models, skills, workflows, ..)&lt;br /&gt;
* source code management: libpgport, libpgcommon handling, adding new files&lt;br /&gt;
* finishing meson support&lt;br /&gt;
* tooling or code changes to reduce need for manual checking, for example vertical alignment of --help output&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43381</id>
		<title>PGConf.dev 2026 In-Person Commitfest</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43381"/>
		<updated>2026-05-04T20:20:36Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/578-special-pgconfdev-in-person-commitfest/&lt;br /&gt;
&lt;br /&gt;
The special PGConf.dev in-person commitfest runs during the week of&lt;br /&gt;
[[PGConf.dev 2026]].  Patches are registered and reviewers are assigned ahead&lt;br /&gt;
of the conference.  Patch authors and reviewers meet during the&lt;br /&gt;
conference week as individually agreed to discuss the patches and if&lt;br /&gt;
appropriate move them closer to &amp;quot;Ready for Committer&amp;quot; status.&lt;br /&gt;
&lt;br /&gt;
This gives all interested patch authors an opportunity to meet with&lt;br /&gt;
and learn from experienced developers in person, and it can help&lt;br /&gt;
facilitate moving some development projects forward in anticipation of&lt;br /&gt;
the next PostgreSQL development cycle.&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
Current: The list of patches in play can be found via these two links:&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/59/?tag=44 (commitfest PG20-1)&lt;br /&gt;
* https://commitfest.postgresql.org/60/?tag=44 (commitfest PG20-Drafts)&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The information and rules below are meant to give participants and&lt;br /&gt;
organizers some guidelines for how to operate this event, but they are&lt;br /&gt;
not meant to be in the way of having an enjoyable and productive&lt;br /&gt;
event.  If there is something beyond what is discussed here, check&lt;br /&gt;
with the organizers and/or give it a try.  The main goal is to learn&lt;br /&gt;
together.&lt;br /&gt;
&lt;br /&gt;
= How to participate =&lt;br /&gt;
&lt;br /&gt;
Every conference attendee can participate.  You participate by&lt;br /&gt;
submitting a patch (see below) or signing up to review a patch.  No&lt;br /&gt;
further signup beyond that exists.&lt;br /&gt;
&lt;br /&gt;
= Submitting a patch / Signing up to review =&lt;br /&gt;
&lt;br /&gt;
This event will be run on top of the PostgreSQL [[Commitfest]] system.&lt;br /&gt;
Patches should be submitted to either commitfest [https://commitfest.postgresql.org/59/ PG20-1] or [https://commitfest.postgresql.org/60/ PG20-Drafts]&lt;br /&gt;
and tagged with the tag &amp;quot;[https://commitfest.postgresql.org/?tag=44 PGConf.dev]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reviewers who want to participate look for patches with the tag and&lt;br /&gt;
sign up as reviewer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;Note: When you add the tag to an existing entry, you should remove all&lt;br /&gt;
existing reviewers.  (Because we can&#039;t assume that those reviewers&lt;br /&gt;
will be at the conference or will participate in this.)  The&lt;br /&gt;
commitfest managers will do this if necessary.  If necessary, one can&lt;br /&gt;
add the previous reviewers back afterwards.&amp;lt;/strike&amp;gt; (Edit: This requires CF admin privileges, so the commifest managers will do it.)&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
&lt;br /&gt;
* Signups are possible now (as of 10 April).&lt;br /&gt;
&lt;br /&gt;
* Patches should be registered by 4 May at the latest (2 weeks before the conference).  Later arrivals might not give reviewers enough time to prepare.&lt;br /&gt;
&lt;br /&gt;
* Reviewers/committers sign up and prepare during those 2 weeks.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the week to discuss (perhaps more than once).&lt;br /&gt;
&lt;br /&gt;
* We might present a summary or some statistics at the end of the conference week.&lt;br /&gt;
&lt;br /&gt;
= Some rules =&lt;br /&gt;
&lt;br /&gt;
* Obviously, both patch authors and reviewers must attend the conference.&lt;br /&gt;
&lt;br /&gt;
* Maximum 2 patches per author (Consider the second one a backup if genuinely no one is available with expertise to review the first one.)&lt;br /&gt;
&lt;br /&gt;
* More than one author or more than one reviewer is okay, but please coordinate this.  The more people are involved, the harder it will be to find a time to meet.&lt;br /&gt;
&lt;br /&gt;
* Everyone should sign up for themselves and as themselves.  If you want to bring your team of co-authors or colleagues to the meeting, you should disclose this and request consent.  Do not ambush your pairing partner with unexpected guests.&lt;br /&gt;
&lt;br /&gt;
* Patches should be interesting enough to facilitate a conversation and learning experience.  Patches that are trivial or mostly mechanical or that you do not understand yourself or that have already been thoroughly reviewed are not conducive.&lt;br /&gt;
&lt;br /&gt;
* We are generally looking for two kinds of review pairings:&lt;br /&gt;
** Committer reviews patch by returning contributor.  (It is assumed that the contributor generally knows their way around. The committer can help move the patch to completion.)&lt;br /&gt;
** Experienced developer reviews patch by new-ish contributor. (Here, the focus could be more on initial review and familiarization with process expectations, as well as getting to know.)&lt;br /&gt;
** (As a counterexample, it is normally useful for a new contributor to review a patch by an experienced contributor for oversights, usability, portability, etc., but this is probably not appropriate for this in-person event.)&lt;br /&gt;
&lt;br /&gt;
The commitfest managers may reach out to involved parties or make adjustments of registered patches to facilitate this.&lt;br /&gt;
&lt;br /&gt;
* Patches may be in need of either technical review or process guidance (or both).  Use tags in the commitfest app judiciously to indicate your needs.&lt;br /&gt;
&lt;br /&gt;
* The conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct] applies.&lt;br /&gt;
&lt;br /&gt;
* The event begins when the conference begins and ends when the conference ends.  You are encouraged to keep working beyond that, of course, but that will be outside the scope of this event.&lt;br /&gt;
&lt;br /&gt;
= The process before and during the conference =&lt;br /&gt;
&lt;br /&gt;
* Patches should be in &amp;quot;Needs review&amp;quot; state before reviewer signup begins.&lt;br /&gt;
&lt;br /&gt;
* Patches should pass Cirrus CI.  (Unless this is the subject of the review, in which case use additional tags indicating this.)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;When adding the &amp;quot;PGConf.dev&amp;quot; tag, clear out existing reviewer entries.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reviewers study the patch ahead of the conference.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the conference to discuss feedback and decide on next steps.&lt;br /&gt;
&lt;br /&gt;
* To find each other in person, if you don&#039;t know each other, in general, patch authors should reach out to reviewers to establish communication channels and arrange meetings (rather than the other way around).  This will likely work better because you will have a better chance getting help at the conference locating a well-known committer than locating a first-time conference attendee or similar.&lt;br /&gt;
&lt;br /&gt;
* Many experienced contributors will be very busy on Tuesday (community discussions) and Friday (unconference), so the best days to meet are probably Wednesday and Thursday.  But you should already try to make contact before that.&lt;br /&gt;
&lt;br /&gt;
* Room &amp;quot;Xerox&amp;quot; (Room 1500) is available for these meetings.  (There will be a few other meetings in this room, but it is mostly free.)  You can meet anywhere else, of course, but this should be the most comfortable.  Note that this is not reserved for individual pairings, please share appropriately.&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t forget to post a review on pgsql-hackers, or at least a note that you met and discussed the patch, to keep everyone else in the loop.&lt;br /&gt;
&lt;br /&gt;
* Set patch status to &amp;quot;Waiting on author&amp;quot; or &amp;quot;Ready for committer&amp;quot; as appropriate.  This is at least to have some fun stats for this event at the end of the week.&lt;br /&gt;
&lt;br /&gt;
= Communicating =&lt;br /&gt;
&lt;br /&gt;
* The organizer of this event (that is, the commitfest manager) is Peter Eisentraut &amp;lt;peter@eisentraut.org&amp;gt;.  Contact him with questions.&lt;br /&gt;
&lt;br /&gt;
* The information desk at the conference might be a good place to get help finding rooms and people.&lt;br /&gt;
&lt;br /&gt;
* The conference Discord server is the place to connect with attendees, find your review partners, etc.&lt;br /&gt;
&lt;br /&gt;
* The [https://2026.pgconf.dev/about conference organizers] can be contacted for higher-level questions.&lt;br /&gt;
&lt;br /&gt;
* There is a conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct committee].&lt;br /&gt;
&lt;br /&gt;
* The PostgreSQL Hacking Discord server and the pgsql-hackers mailing list should be used for discussing issues related to the technical contents of a patch.&lt;br /&gt;
&lt;br /&gt;
* This wiki page may be updated from time to time with emerging generally useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43380</id>
		<title>PGConf.dev 2026 In-Person Commitfest</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43380"/>
		<updated>2026-05-04T19:57:33Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/578-special-pgconfdev-in-person-commitfest/&lt;br /&gt;
&lt;br /&gt;
The special PGConf.dev in-person commitfest runs during the week of&lt;br /&gt;
[[PGConf.dev 2026]].  Patches are registered and reviewers are assigned ahead&lt;br /&gt;
of the conference.  Patch authors and reviewers meet during the&lt;br /&gt;
conference week as individually agreed to discuss the patches and if&lt;br /&gt;
appropriate move them closer to &amp;quot;Ready for Committer&amp;quot; status.&lt;br /&gt;
&lt;br /&gt;
This gives all interested patch authors an opportunity to meet with&lt;br /&gt;
and learn from experienced developers in person, and it can help&lt;br /&gt;
facilitate moving some development projects forward in anticipation of&lt;br /&gt;
the next PostgreSQL development cycle.&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The information and rules below are meant to give participants and&lt;br /&gt;
organizers some guidelines for how to operate this event, but they are&lt;br /&gt;
not meant to be in the way of having an enjoyable and productive&lt;br /&gt;
event.  If there is something beyond what is discussed here, check&lt;br /&gt;
with the organizers and/or give it a try.  The main goal is to learn&lt;br /&gt;
together.&lt;br /&gt;
&lt;br /&gt;
= How to participate =&lt;br /&gt;
&lt;br /&gt;
Every conference attendee can participate.  You participate by&lt;br /&gt;
submitting a patch (see below) or signing up to review a patch.  No&lt;br /&gt;
further signup beyond that exists.&lt;br /&gt;
&lt;br /&gt;
= Submitting a patch / Signing up to review =&lt;br /&gt;
&lt;br /&gt;
This event will be run on top of the PostgreSQL [[Commitfest]] system.&lt;br /&gt;
Patches should be submitted to either commitfest [https://commitfest.postgresql.org/59/ PG20-1] or [https://commitfest.postgresql.org/60/ PG20-Drafts]&lt;br /&gt;
and tagged with the tag &amp;quot;[https://commitfest.postgresql.org/?tag=44 PGConf.dev]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reviewers who want to participate look for patches with the tag and&lt;br /&gt;
sign up as reviewer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;Note: When you add the tag to an existing entry, you should remove all&lt;br /&gt;
existing reviewers.  (Because we can&#039;t assume that those reviewers&lt;br /&gt;
will be at the conference or will participate in this.)  The&lt;br /&gt;
commitfest managers will do this if necessary.  If necessary, one can&lt;br /&gt;
add the previous reviewers back afterwards.&amp;lt;/strike&amp;gt; (Edit: This requires CF admin privileges, so the commifest managers will do it.)&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
&lt;br /&gt;
* Signups are possible now (as of 10 April).&lt;br /&gt;
&lt;br /&gt;
* Patches should be registered by 4 May at the latest (2 weeks before the conference).  Later arrivals might not give reviewers enough time to prepare.&lt;br /&gt;
&lt;br /&gt;
* Reviewers/committers sign up and prepare during those 2 weeks.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the week to discuss (perhaps more than once).&lt;br /&gt;
&lt;br /&gt;
* We might present a summary or some statistics at the end of the conference week.&lt;br /&gt;
&lt;br /&gt;
= Some rules =&lt;br /&gt;
&lt;br /&gt;
* Obviously, both patch authors and reviewers must attend the conference.&lt;br /&gt;
&lt;br /&gt;
* Maximum 2 patches per author (Consider the second one a backup if genuinely no one is available with expertise to review the first one.)&lt;br /&gt;
&lt;br /&gt;
* More than one author or more than one reviewer is okay, but please coordinate this.  The more people are involved, the harder it will be to find a time to meet.&lt;br /&gt;
&lt;br /&gt;
* Everyone should sign up for themselves and as themselves.  If you want to bring your team of co-authors or colleagues to the meeting, you should disclose this and request consent.  Do not ambush your pairing partner with unexpected guests.&lt;br /&gt;
&lt;br /&gt;
* Patches should be interesting enough to facilitate a conversation and learning experience.  Patches that are trivial or mostly mechanical or that you do not understand yourself or that have already been thoroughly reviewed are not conducive.&lt;br /&gt;
&lt;br /&gt;
* We are generally looking for two kinds of review pairings:&lt;br /&gt;
** Committer reviews patch by returning contributor.  (It is assumed that the contributor generally knows their way around. The committer can help move the patch to completion.)&lt;br /&gt;
** Experienced developer reviews patch by new-ish contributor. (Here, the focus could be more on initial review and familiarization with process expectations, as well as getting to know.)&lt;br /&gt;
** (As a counterexample, it is normally useful for a new contributor to review a patch by an experienced contributor for oversights, usability, portability, etc., but this is probably not appropriate for this in-person event.)&lt;br /&gt;
&lt;br /&gt;
The commitfest managers may reach out to involved parties or make adjustments of registered patches to facilitate this.&lt;br /&gt;
&lt;br /&gt;
* Patches may be in need of either technical review or process guidance (or both).  Use tags in the commitfest app judiciously to indicate your needs.&lt;br /&gt;
&lt;br /&gt;
* The conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct] applies.&lt;br /&gt;
&lt;br /&gt;
* The event begins when the conference begins and ends when the conference ends.  You are encouraged to keep working beyond that, of course, but that will be outside the scope of this event.&lt;br /&gt;
&lt;br /&gt;
= The process before and during the conference =&lt;br /&gt;
&lt;br /&gt;
* Patches should be in &amp;quot;Needs review&amp;quot; state before reviewer signup begins.&lt;br /&gt;
&lt;br /&gt;
* Patches should pass Cirrus CI.  (Unless this is the subject of the review, in which case use additional tags indicating this.)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;When adding the &amp;quot;PGConf.dev&amp;quot; tag, clear out existing reviewer entries.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reviewers study the patch ahead of the conference.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the conference to discuss feedback and decide on next steps.&lt;br /&gt;
&lt;br /&gt;
* To find each other in person, if you don&#039;t know each other, in general, patch authors should reach out to reviewers to establish communication channels and arrange meetings (rather than the other way around).  This will likely work better because you will have a better chance getting help at the conference locating a well-known committer than locating a first-time conference attendee or similar.&lt;br /&gt;
&lt;br /&gt;
* Many experienced contributors will be very busy on Tuesday (community discussions) and Friday (unconference), so the best days to meet are probably Wednesday and Thursday.  But you should already try to make contact before that.&lt;br /&gt;
&lt;br /&gt;
* Room &amp;quot;Xerox&amp;quot; (Room 1500) is available for these meetings.  (There will be a few other meetings in this room, but it is mostly free.)  You can meet anywhere else, of course, but this should be the most comfortable.  Note that this is not reserved for individual pairings, please share appropriately.&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t forget to post a review on pgsql-hackers, or at least a note that you met and discussed the patch, to keep everyone else in the loop.&lt;br /&gt;
&lt;br /&gt;
* Set patch status to &amp;quot;Waiting on author&amp;quot; or &amp;quot;Ready for committer&amp;quot; as appropriate.  This is at least to have some fun stats for this event at the end of the week.&lt;br /&gt;
&lt;br /&gt;
= Communicating =&lt;br /&gt;
&lt;br /&gt;
* The organizer of this event (that is, the commitfest manager) is Peter Eisentraut &amp;lt;peter@eisentraut.org&amp;gt;.  Contact him with questions.&lt;br /&gt;
&lt;br /&gt;
* The information desk at the conference might be a good place to get help finding rooms and people.&lt;br /&gt;
&lt;br /&gt;
* The conference Discord server is the place to connect with attendees, find your review partners, etc.&lt;br /&gt;
&lt;br /&gt;
* The [https://2026.pgconf.dev/about conference organizers] can be contacted for higher-level questions.&lt;br /&gt;
&lt;br /&gt;
* There is a conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct committee].&lt;br /&gt;
&lt;br /&gt;
* The PostgreSQL Hacking Discord server and the pgsql-hackers mailing list should be used for discussing issues related to the technical contents of a patch.&lt;br /&gt;
&lt;br /&gt;
* This wiki page may be updated from time to time with emerging generally useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_SQL_Standard_Workshop&amp;diff=43296</id>
		<title>PGConf.dev 2026 SQL Standard Workshop</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_SQL_Standard_Workshop&amp;diff=43296"/>
		<updated>2026-04-20T09:59:40Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.pgconf.dev/session/553&lt;br /&gt;
&lt;br /&gt;
This is a workshop, so it&#039;s meant to be interactive.&lt;br /&gt;
&lt;br /&gt;
* There is no separate registration for this workshop, but you can help the organizer by letting them know if you plan to attend.&lt;br /&gt;
** either: Peter Eisentraut &amp;lt;peter@eisentraut.org&amp;gt;&lt;br /&gt;
** or: PostgreSQL Hacking Discord server channel #sql-standard-dev or DM&lt;br /&gt;
&lt;br /&gt;
* This workshop runs over lunch, but lunch will be served in the room.&lt;br /&gt;
&lt;br /&gt;
* The room is not used after the workshop (except for commitfest meetings), so we can extend or keep working in smaller groups if necessary.&lt;br /&gt;
&lt;br /&gt;
* Here are some things we could do, depending on the participants:&lt;br /&gt;
** Bring your own copy of the standard if you have it, else we can help you on site.&lt;br /&gt;
** Introduction on how the standard is written, how to read it, what different terms and sections mean.&lt;br /&gt;
** Try to solve interpretation questions, &amp;quot;what does the standard say about X&amp;quot; questions, solve problems you might have had. (Bring your questions.)&lt;br /&gt;
** Discuss what we might want to add to the standard and how.&lt;br /&gt;
** Look through the current CD consultation comments and try to address them.  (You will learn what this means.)&lt;br /&gt;
** Write your own first change proposal paper (either during the workshop or separately afterwards), so submit to the June committee meeting.&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_SQL_Standard_Workshop&amp;diff=43248</id>
		<title>PGConf.dev 2026 SQL Standard Workshop</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_SQL_Standard_Workshop&amp;diff=43248"/>
		<updated>2026-04-13T05:31:09Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.pgconf.dev/session/553&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_SQL_Standard_Workshop&amp;diff=43247</id>
		<title>PGConf.dev 2026 SQL Standard Workshop</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_SQL_Standard_Workshop&amp;diff=43247"/>
		<updated>2026-04-13T05:30:17Z</updated>

		<summary type="html">&lt;p&gt;Petere: created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.pgconf.dev/session/553&lt;br /&gt;
&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43246</id>
		<title>PGConf.dev 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43246"/>
		<updated>2026-04-13T05:29:12Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Wiki Pages related to the conference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PostgreSQL Development Conference 2026 ([https://2026.pgconf.dev PGConf.dev 2026]) will take place in &#039;&#039;Vancouver, Canada&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://2026.pgconf.dev Website]&lt;br /&gt;
* [https://www.pgevents.ca/events/pgconfdev2026/schedule/ Schedule + Slides]&lt;br /&gt;
* Recordings (later)&lt;br /&gt;
&lt;br /&gt;
== Wiki Pages related to the conference ==&lt;br /&gt;
&lt;br /&gt;
* [[PGConf.dev 2026 Developer Unconference]]&lt;br /&gt;
* [[PGConf.dev 2026 In-Person Commitfest]]&lt;br /&gt;
* [[PGConf.dev 2026 SQL Standard Workshop]]&lt;br /&gt;
* [[PGConf.dev 2026 Translators and Translation Tooling]]&lt;br /&gt;
&lt;br /&gt;
== Blog Postings and Videos ==&lt;br /&gt;
&lt;br /&gt;
* (later)&lt;br /&gt;
&lt;br /&gt;
[[Category:Unconference]] [[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43224</id>
		<title>PGConf.dev 2026 In-Person Commitfest</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43224"/>
		<updated>2026-04-10T17:28:18Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* The process before and during the conference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/578-special-pgconfdev-in-person-commitfest/&lt;br /&gt;
&lt;br /&gt;
The special PGConf.dev in-person commitfest runs during the week of&lt;br /&gt;
[[PGConf.dev 2026]].  Patches are registered and reviewers are assigned ahead&lt;br /&gt;
of the conference.  Patch authors and reviewers meet during the&lt;br /&gt;
conference week as individually agreed to discuss the patches and if&lt;br /&gt;
appropriate move them closer to &amp;quot;Ready for Committer&amp;quot; status.&lt;br /&gt;
&lt;br /&gt;
This gives all interested patch authors an opportunity to meet with&lt;br /&gt;
and learn from experienced developers in person, and it can help&lt;br /&gt;
facilitate moving some development projects forward in anticipation of&lt;br /&gt;
the next PostgreSQL development cycle.&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The information and rules below are meant to give participants and&lt;br /&gt;
organizers some guidelines for how to operate this event, but they are&lt;br /&gt;
not meant to be in the way of having an enjoyable and productive&lt;br /&gt;
event.  If there is something beyond what is discussed here, check&lt;br /&gt;
with the organizers and/or give it a try.  The main goal is to learn&lt;br /&gt;
together.&lt;br /&gt;
&lt;br /&gt;
= How to participate =&lt;br /&gt;
&lt;br /&gt;
Every conference attendee can participate.  You participate by&lt;br /&gt;
submitting a patch (see below) or signing up to review a patch.  No&lt;br /&gt;
further signup beyond that exists.&lt;br /&gt;
&lt;br /&gt;
= Submitting a patch / Signing up to review =&lt;br /&gt;
&lt;br /&gt;
This event will be run on top of the PostgreSQL [[Commitfest]] system.&lt;br /&gt;
Patches should be submitted to either commitfest [https://commitfest.postgresql.org/59/ PG20-1] or [https://commitfest.postgresql.org/60/ PG20-Drafts]&lt;br /&gt;
and tagged with the tag &amp;quot;[https://commitfest.postgresql.org/?tag=44 PGConf.dev]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reviewers who want to participate look for patches with the tag and&lt;br /&gt;
sign up as reviewer.&lt;br /&gt;
&lt;br /&gt;
Note: When you add the tag to an existing entry, you should remove all&lt;br /&gt;
existing reviewers.  (Because we can&#039;t assume that those reviewers&lt;br /&gt;
will be at the conference or will participate in this.)  The&lt;br /&gt;
commitfest managers will do this if necessary.  If necessary, one can&lt;br /&gt;
add the previous reviewers back afterwards.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
&lt;br /&gt;
* Signups are possible now (as of 10 April).&lt;br /&gt;
&lt;br /&gt;
* Patches should be registered by 4 May at the latest (2 weeks before the conference).  Later arrivals might not give reviewers enough time to prepare.&lt;br /&gt;
&lt;br /&gt;
* Reviewers/committers sign up and prepare during those 2 weeks.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the week to discuss (perhaps more than once).&lt;br /&gt;
&lt;br /&gt;
* We might present a summary or some statistics at the end of the conference week.&lt;br /&gt;
&lt;br /&gt;
= Some rules =&lt;br /&gt;
&lt;br /&gt;
* Obviously, both patch authors and reviewers must attend the conference.&lt;br /&gt;
&lt;br /&gt;
* Maximum 2 patches per author (Consider the second one a backup if genuinely no one is available with expertise to review the first one.)&lt;br /&gt;
&lt;br /&gt;
* More than one author or more than one reviewer is okay, but please coordinate this.  The more people are involved, the harder it will be to find a time to meet.&lt;br /&gt;
&lt;br /&gt;
* Everyone should sign up for themselves and as themselves.  If you want to bring your team of co-authors or colleagues to the meeting, you should disclose this and request consent.  Do not ambush your pairing partner with unexpected guests.&lt;br /&gt;
&lt;br /&gt;
* Patches should be interesting enough to facilitate a conversation and learning experience.  Patches that are trivial or mostly mechanical or that you do not understand yourself or that have already been thoroughly reviewed are not conducive.&lt;br /&gt;
&lt;br /&gt;
* We are generally looking for two kinds of review pairings:&lt;br /&gt;
** Committer reviews patch by returning contributor.  (It is assumed that the contributor generally knows their way around. The committer can help move the patch to completion.)&lt;br /&gt;
** Experienced developer reviews patch by new-ish contributor. (Here, the focus could be more on initial review and familiarization with process expectations, as well as getting to know.)&lt;br /&gt;
** (As a counterexample, it is normally useful for a new contributor to review a patch by an experienced contributor for oversights, usability, portability, etc., but this is probably not appropriate for this in-person event.)&lt;br /&gt;
&lt;br /&gt;
The commitfest managers may reach out to involved parties or make adjustments of registered patches to facilitate this.&lt;br /&gt;
&lt;br /&gt;
* Patches may be in need of either technical review or process guidance (or both).  Use tags in the commitfest app judiciously to indicate your needs.&lt;br /&gt;
&lt;br /&gt;
* The conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct] applies.&lt;br /&gt;
&lt;br /&gt;
* The event begins when the conference begins and ends when the conference ends.  You are encouraged to keep working beyond that, of course, but that will be outside the scope of this event.&lt;br /&gt;
&lt;br /&gt;
= The process before and during the conference =&lt;br /&gt;
&lt;br /&gt;
* Patches should be in &amp;quot;Needs review&amp;quot; state before reviewer signup begins.&lt;br /&gt;
&lt;br /&gt;
* Patches should pass Cirrus CI.  (Unless this is the subject of the review, in which case use additional tags indicating this.)&lt;br /&gt;
&lt;br /&gt;
* When adding the &amp;quot;PGConf.dev&amp;quot; tag, clear out existing reviewer entries.&lt;br /&gt;
&lt;br /&gt;
* Reviewers study the patch ahead of the conference.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the conference to discuss feedback and decide on next steps.&lt;br /&gt;
&lt;br /&gt;
* To find each other in person, if you don&#039;t know each other, in general, patch authors should reach out to reviewers to establish communication channels and arrange meetings (rather than the other way around).  This will likely work better because you will have a better chance getting help at the conference locating a well-known committer than locating a first-time conference attendee or similar.&lt;br /&gt;
&lt;br /&gt;
* Many experienced contributors will be very busy on Tuesday (community discussions) and Friday (unconference), so the best days to meet are probably Wednesday and Thursday.  But you should already try to make contact before that.&lt;br /&gt;
&lt;br /&gt;
* Room &amp;quot;Xerox&amp;quot; (Room 1500) is available for these meetings.  (There will be a few other meetings in this room, but it is mostly free.)  You can meet anywhere else, of course, but this should be the most comfortable.  Note that this is not reserved for individual pairings, please share appropriately.&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t forget to post a review on pgsql-hackers, or at least a note that you met and discussed the patch, to keep everyone else in the loop.&lt;br /&gt;
&lt;br /&gt;
* Set patch status to &amp;quot;Waiting on author&amp;quot; or &amp;quot;Ready for committer&amp;quot; as appropriate.  This is at least to have some fun stats for this event at the end of the week.&lt;br /&gt;
&lt;br /&gt;
= Communicating =&lt;br /&gt;
&lt;br /&gt;
* The organizer of this event (that is, the commitfest manager) is Peter Eisentraut &amp;lt;peter@eisentraut.org&amp;gt;.  Contact him with questions.&lt;br /&gt;
&lt;br /&gt;
* The information desk at the conference might be a good place to get help finding rooms and people.&lt;br /&gt;
&lt;br /&gt;
* The conference Discord server is the place to connect with attendees, find your review partners, etc.&lt;br /&gt;
&lt;br /&gt;
* The [https://2026.pgconf.dev/about conference organizers] can be contacted for higher-level questions.&lt;br /&gt;
&lt;br /&gt;
* There is a conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct committee].&lt;br /&gt;
&lt;br /&gt;
* The PostgreSQL Hacking Discord server and the pgsql-hackers mailing list should be used for discussing issues related to the technical contents of a patch.&lt;br /&gt;
&lt;br /&gt;
* This wiki page may be updated from time to time with emerging generally useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43223</id>
		<title>PGConf.dev 2026 In-Person Commitfest</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43223"/>
		<updated>2026-04-10T17:28:03Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Submitting a patch / Signing up to review */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/578-special-pgconfdev-in-person-commitfest/&lt;br /&gt;
&lt;br /&gt;
The special PGConf.dev in-person commitfest runs during the week of&lt;br /&gt;
[[PGConf.dev 2026]].  Patches are registered and reviewers are assigned ahead&lt;br /&gt;
of the conference.  Patch authors and reviewers meet during the&lt;br /&gt;
conference week as individually agreed to discuss the patches and if&lt;br /&gt;
appropriate move them closer to &amp;quot;Ready for Committer&amp;quot; status.&lt;br /&gt;
&lt;br /&gt;
This gives all interested patch authors an opportunity to meet with&lt;br /&gt;
and learn from experienced developers in person, and it can help&lt;br /&gt;
facilitate moving some development projects forward in anticipation of&lt;br /&gt;
the next PostgreSQL development cycle.&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The information and rules below are meant to give participants and&lt;br /&gt;
organizers some guidelines for how to operate this event, but they are&lt;br /&gt;
not meant to be in the way of having an enjoyable and productive&lt;br /&gt;
event.  If there is something beyond what is discussed here, check&lt;br /&gt;
with the organizers and/or give it a try.  The main goal is to learn&lt;br /&gt;
together.&lt;br /&gt;
&lt;br /&gt;
= How to participate =&lt;br /&gt;
&lt;br /&gt;
Every conference attendee can participate.  You participate by&lt;br /&gt;
submitting a patch (see below) or signing up to review a patch.  No&lt;br /&gt;
further signup beyond that exists.&lt;br /&gt;
&lt;br /&gt;
= Submitting a patch / Signing up to review =&lt;br /&gt;
&lt;br /&gt;
This event will be run on top of the PostgreSQL [[Commitfest]] system.&lt;br /&gt;
Patches should be submitted to either commitfest [https://commitfest.postgresql.org/59/ PG20-1] or [https://commitfest.postgresql.org/60/ PG20-Drafts]&lt;br /&gt;
and tagged with the tag &amp;quot;[https://commitfest.postgresql.org/?tag=44 PGConf.dev]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reviewers who want to participate look for patches with the tag and&lt;br /&gt;
sign up as reviewer.&lt;br /&gt;
&lt;br /&gt;
Note: When you add the tag to an existing entry, you should remove all&lt;br /&gt;
existing reviewers.  (Because we can&#039;t assume that those reviewers&lt;br /&gt;
will be at the conference or will participate in this.)  The&lt;br /&gt;
commitfest managers will do this if necessary.  If necessary, one can&lt;br /&gt;
add the previous reviewers back afterwards.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
&lt;br /&gt;
* Signups are possible now (as of 10 April).&lt;br /&gt;
&lt;br /&gt;
* Patches should be registered by 4 May at the latest (2 weeks before the conference).  Later arrivals might not give reviewers enough time to prepare.&lt;br /&gt;
&lt;br /&gt;
* Reviewers/committers sign up and prepare during those 2 weeks.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the week to discuss (perhaps more than once).&lt;br /&gt;
&lt;br /&gt;
* We might present a summary or some statistics at the end of the conference week.&lt;br /&gt;
&lt;br /&gt;
= Some rules =&lt;br /&gt;
&lt;br /&gt;
* Obviously, both patch authors and reviewers must attend the conference.&lt;br /&gt;
&lt;br /&gt;
* Maximum 2 patches per author (Consider the second one a backup if genuinely no one is available with expertise to review the first one.)&lt;br /&gt;
&lt;br /&gt;
* More than one author or more than one reviewer is okay, but please coordinate this.  The more people are involved, the harder it will be to find a time to meet.&lt;br /&gt;
&lt;br /&gt;
* Everyone should sign up for themselves and as themselves.  If you want to bring your team of co-authors or colleagues to the meeting, you should disclose this and request consent.  Do not ambush your pairing partner with unexpected guests.&lt;br /&gt;
&lt;br /&gt;
* Patches should be interesting enough to facilitate a conversation and learning experience.  Patches that are trivial or mostly mechanical or that you do not understand yourself or that have already been thoroughly reviewed are not conducive.&lt;br /&gt;
&lt;br /&gt;
* We are generally looking for two kinds of review pairings:&lt;br /&gt;
** Committer reviews patch by returning contributor.  (It is assumed that the contributor generally knows their way around. The committer can help move the patch to completion.)&lt;br /&gt;
** Experienced developer reviews patch by new-ish contributor. (Here, the focus could be more on initial review and familiarization with process expectations, as well as getting to know.)&lt;br /&gt;
** (As a counterexample, it is normally useful for a new contributor to review a patch by an experienced contributor for oversights, usability, portability, etc., but this is probably not appropriate for this in-person event.)&lt;br /&gt;
&lt;br /&gt;
The commitfest managers may reach out to involved parties or make adjustments of registered patches to facilitate this.&lt;br /&gt;
&lt;br /&gt;
* Patches may be in need of either technical review or process guidance (or both).  Use tags in the commitfest app judiciously to indicate your needs.&lt;br /&gt;
&lt;br /&gt;
* The conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct] applies.&lt;br /&gt;
&lt;br /&gt;
* The event begins when the conference begins and ends when the conference ends.  You are encouraged to keep working beyond that, of course, but that will be outside the scope of this event.&lt;br /&gt;
&lt;br /&gt;
= The process before and during the conference =&lt;br /&gt;
&lt;br /&gt;
* Patches should be in &amp;quot;Needs review&amp;quot; state before reviewer signup begins.&lt;br /&gt;
&lt;br /&gt;
* Patches should pass Cirrus CI.  (Unless this is the subject of the review, in which case use additional tags indicating this.)&lt;br /&gt;
&lt;br /&gt;
* When adding the &amp;quot;PGConf.dev&amp;quot; tag, clear out existing reviewer entries.&lt;br /&gt;
&lt;br /&gt;
* Reviewers study the patch ahead of the conference.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the conference to discuss feedback and decide on next steps.&lt;br /&gt;
&lt;br /&gt;
* To find each other in person, if you don&#039;t know each other, in general, patch authors should reach out to reviewers to establish communication channels and arrange meetings (rather than the other way around).  This will likely work better because you will have a better chance getting help at the conference locating a well-known committer than locating a first-time conference attendee or similar.&lt;br /&gt;
&lt;br /&gt;
* Many experienced contributors will be very busy on Tuesday (community discussions) and Friday (unconference), so the best days to meet are probably Wednesday and Thursday.  But you should already try to make contact before that.&lt;br /&gt;
&lt;br /&gt;
* Room &amp;quot;Xerox&amp;quot; (Room 1500) is available for these meetings.  (There will be a few other meetings in this room, but it is mostly free.)  You can meet anywhere else, of course, but this should be the most comfortable.  Note that this is not reserved for individual pairings, please share appropriately.&lt;br /&gt;
&lt;br /&gt;
- Don&#039;t forget to post a review on pgsql-hackers, or at least a note that you met and discussed the patch, to keep everyone else in the loop.&lt;br /&gt;
&lt;br /&gt;
- Set patch status to &amp;quot;Waiting on author&amp;quot; or &amp;quot;Ready for committer&amp;quot; as appropriate.  This is at least to have some fun stats for this event at the end of the week.&lt;br /&gt;
&lt;br /&gt;
= Communicating =&lt;br /&gt;
&lt;br /&gt;
* The organizer of this event (that is, the commitfest manager) is Peter Eisentraut &amp;lt;peter@eisentraut.org&amp;gt;.  Contact him with questions.&lt;br /&gt;
&lt;br /&gt;
* The information desk at the conference might be a good place to get help finding rooms and people.&lt;br /&gt;
&lt;br /&gt;
* The conference Discord server is the place to connect with attendees, find your review partners, etc.&lt;br /&gt;
&lt;br /&gt;
* The [https://2026.pgconf.dev/about conference organizers] can be contacted for higher-level questions.&lt;br /&gt;
&lt;br /&gt;
* There is a conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct committee].&lt;br /&gt;
&lt;br /&gt;
* The PostgreSQL Hacking Discord server and the pgsql-hackers mailing list should be used for discussing issues related to the technical contents of a patch.&lt;br /&gt;
&lt;br /&gt;
* This wiki page may be updated from time to time with emerging generally useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43220</id>
		<title>PGConf.dev 2026 In-Person Commitfest</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_In-Person_Commitfest&amp;diff=43220"/>
		<updated>2026-04-10T12:04:53Z</updated>

		<summary type="html">&lt;p&gt;Petere: created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/578-special-pgconfdev-in-person-commitfest/&lt;br /&gt;
&lt;br /&gt;
The special PGConf.dev in-person commitfest runs during the week of&lt;br /&gt;
[[PGConf.dev 2026]].  Patches are registered and reviewers are assigned ahead&lt;br /&gt;
of the conference.  Patch authors and reviewers meet during the&lt;br /&gt;
conference week as individually agreed to discuss the patches and if&lt;br /&gt;
appropriate move them closer to &amp;quot;Ready for Committer&amp;quot; status.&lt;br /&gt;
&lt;br /&gt;
This gives all interested patch authors an opportunity to meet with&lt;br /&gt;
and learn from experienced developers in person, and it can help&lt;br /&gt;
facilitate moving some development projects forward in anticipation of&lt;br /&gt;
the next PostgreSQL development cycle.&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The information and rules below are meant to give participants and&lt;br /&gt;
organizers some guidelines for how to operate this event, but they are&lt;br /&gt;
not meant to be in the way of having an enjoyable and productive&lt;br /&gt;
event.  If there is something beyond what is discussed here, check&lt;br /&gt;
with the organizers and/or give it a try.  The main goal is to learn&lt;br /&gt;
together.&lt;br /&gt;
&lt;br /&gt;
= How to participate =&lt;br /&gt;
&lt;br /&gt;
Every conference attendee can participate.  You participate by&lt;br /&gt;
submitting a patch (see below) or signing up to review a patch.  No&lt;br /&gt;
further signup beyond that exists.&lt;br /&gt;
&lt;br /&gt;
= Submitting a patch / Signing up to review =&lt;br /&gt;
&lt;br /&gt;
This event will be run on top of the PostgreSQL [[Commitfest]] system.&lt;br /&gt;
Patches should be submitted to either commitfest [https://commitfest.postgresql.org/59/ PG20-1] or [https://commitfest.postgresql.org/60/ PG20-Drafts]&lt;br /&gt;
and tagged with the tag &amp;quot;[https://commitfest.postgresql.org/?tag=34 PGConf.dev]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reviewers who want to participate look for patches with the tag and&lt;br /&gt;
sign up as reviewer.&lt;br /&gt;
&lt;br /&gt;
Note: When you add the tag to an existing entry, you should remove all&lt;br /&gt;
existing reviewers.  (Because we can&#039;t assume that those reviewers&lt;br /&gt;
will be at the conference or will participate in this.)  The&lt;br /&gt;
commitfest managers will do this if necessary.  If necessary, one can&lt;br /&gt;
add the previous reviewers back afterwards.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
&lt;br /&gt;
* Signups are possible now (as of 10 April).&lt;br /&gt;
&lt;br /&gt;
* Patches should be registered by 4 May at the latest (2 weeks before the conference).  Later arrivals might not give reviewers enough time to prepare.&lt;br /&gt;
&lt;br /&gt;
* Reviewers/committers sign up and prepare during those 2 weeks.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the week to discuss (perhaps more than once).&lt;br /&gt;
&lt;br /&gt;
* We might present a summary or some statistics at the end of the conference week.&lt;br /&gt;
&lt;br /&gt;
= Some rules =&lt;br /&gt;
&lt;br /&gt;
* Obviously, both patch authors and reviewers must attend the conference.&lt;br /&gt;
&lt;br /&gt;
* Maximum 2 patches per author (Consider the second one a backup if genuinely no one is available with expertise to review the first one.)&lt;br /&gt;
&lt;br /&gt;
* More than one author or more than one reviewer is okay, but please coordinate this.  The more people are involved, the harder it will be to find a time to meet.&lt;br /&gt;
&lt;br /&gt;
* Everyone should sign up for themselves and as themselves.  If you want to bring your team of co-authors or colleagues to the meeting, you should disclose this and request consent.  Do not ambush your pairing partner with unexpected guests.&lt;br /&gt;
&lt;br /&gt;
* Patches should be interesting enough to facilitate a conversation and learning experience.  Patches that are trivial or mostly mechanical or that you do not understand yourself or that have already been thoroughly reviewed are not conducive.&lt;br /&gt;
&lt;br /&gt;
* We are generally looking for two kinds of review pairings:&lt;br /&gt;
** Committer reviews patch by returning contributor.  (It is assumed that the contributor generally knows their way around. The committer can help move the patch to completion.)&lt;br /&gt;
** Experienced developer reviews patch by new-ish contributor. (Here, the focus could be more on initial review and familiarization with process expectations, as well as getting to know.)&lt;br /&gt;
** (As a counterexample, it is normally useful for a new contributor to review a patch by an experienced contributor for oversights, usability, portability, etc., but this is probably not appropriate for this in-person event.)&lt;br /&gt;
&lt;br /&gt;
The commitfest managers may reach out to involved parties or make adjustments of registered patches to facilitate this.&lt;br /&gt;
&lt;br /&gt;
* Patches may be in need of either technical review or process guidance (or both).  Use tags in the commitfest app judiciously to indicate your needs.&lt;br /&gt;
&lt;br /&gt;
* The conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct] applies.&lt;br /&gt;
&lt;br /&gt;
* The event begins when the conference begins and ends when the conference ends.  You are encouraged to keep working beyond that, of course, but that will be outside the scope of this event.&lt;br /&gt;
&lt;br /&gt;
= The process before and during the conference =&lt;br /&gt;
&lt;br /&gt;
* Patches should be in &amp;quot;Needs review&amp;quot; state before reviewer signup begins.&lt;br /&gt;
&lt;br /&gt;
* Patches should pass Cirrus CI.  (Unless this is the subject of the review, in which case use additional tags indicating this.)&lt;br /&gt;
&lt;br /&gt;
* When adding the &amp;quot;PGConf.dev&amp;quot; tag, clear out existing reviewer entries.&lt;br /&gt;
&lt;br /&gt;
* Reviewers study the patch ahead of the conference.&lt;br /&gt;
&lt;br /&gt;
* Patch authors and reviewers meet during the conference to discuss feedback and decide on next steps.&lt;br /&gt;
&lt;br /&gt;
* To find each other in person, if you don&#039;t know each other, in general, patch authors should reach out to reviewers to establish communication channels and arrange meetings (rather than the other way around).  This will likely work better because you will have a better chance getting help at the conference locating a well-known committer than locating a first-time conference attendee or similar.&lt;br /&gt;
&lt;br /&gt;
* Many experienced contributors will be very busy on Tuesday (community discussions) and Friday (unconference), so the best days to meet are probably Wednesday and Thursday.  But you should already try to make contact before that.&lt;br /&gt;
&lt;br /&gt;
* Room &amp;quot;Xerox&amp;quot; (Room 1500) is available for these meetings.  (There will be a few other meetings in this room, but it is mostly free.)  You can meet anywhere else, of course, but this should be the most comfortable.  Note that this is not reserved for individual pairings, please share appropriately.&lt;br /&gt;
&lt;br /&gt;
- Don&#039;t forget to post a review on pgsql-hackers, or at least a note that you met and discussed the patch, to keep everyone else in the loop.&lt;br /&gt;
&lt;br /&gt;
- Set patch status to &amp;quot;Waiting on author&amp;quot; or &amp;quot;Ready for committer&amp;quot; as appropriate.  This is at least to have some fun stats for this event at the end of the week.&lt;br /&gt;
&lt;br /&gt;
= Communicating =&lt;br /&gt;
&lt;br /&gt;
* The organizer of this event (that is, the commitfest manager) is Peter Eisentraut &amp;lt;peter@eisentraut.org&amp;gt;.  Contact him with questions.&lt;br /&gt;
&lt;br /&gt;
* The information desk at the conference might be a good place to get help finding rooms and people.&lt;br /&gt;
&lt;br /&gt;
* The conference Discord server is the place to connect with attendees, find your review partners, etc.&lt;br /&gt;
&lt;br /&gt;
* The [https://2026.pgconf.dev/about conference organizers] can be contacted for higher-level questions.&lt;br /&gt;
&lt;br /&gt;
* There is a conference [https://2026.pgconf.dev/about/code-of-conduct code of conduct committee].&lt;br /&gt;
&lt;br /&gt;
* The PostgreSQL Hacking Discord server and the pgsql-hackers mailing list should be used for discussing issues related to the technical contents of a patch.&lt;br /&gt;
&lt;br /&gt;
* This wiki page may be updated from time to time with emerging generally useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Translators_and_Translation_Tooling&amp;diff=43219</id>
		<title>PGConf.dev 2026 Translators and Translation Tooling</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026_Translators_and_Translation_Tooling&amp;diff=43219"/>
		<updated>2026-04-10T10:45:19Z</updated>

		<summary type="html">&lt;p&gt;Petere: created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.pgevents.ca/events/pgconfdev2026/schedule/session/543-translators-and-translation-tooling/&lt;br /&gt;
&lt;br /&gt;
= Planning =&lt;br /&gt;
&lt;br /&gt;
Please add yourself below if you plan to attend in person or remotely. This is not required, but it will help the organizers.  (In particular, if no one signs up for remote attendance, there will be no remote link.)  Remote attendees, please take note of the time that this session is scheduled for.&lt;br /&gt;
&lt;br /&gt;
== Plan to attend in person ==&lt;br /&gt;
&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Plan to attend remotely ==&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Discussion topics ==&lt;br /&gt;
&lt;br /&gt;
Add topic proposals here:&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43218</id>
		<title>PGConf.dev 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43218"/>
		<updated>2026-04-10T10:26:03Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Wiki Pages related to the conference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PostgreSQL Development Conference 2026 ([https://2026.pgconf.dev PGConf.dev 2026]) will take place in &#039;&#039;Vancouver, Canada&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://2026.pgconf.dev Website]&lt;br /&gt;
* [https://www.pgevents.ca/events/pgconfdev2026/schedule/ Schedule + Slides]&lt;br /&gt;
* Recordings (later)&lt;br /&gt;
&lt;br /&gt;
== Wiki Pages related to the conference ==&lt;br /&gt;
&lt;br /&gt;
* [[PGConf.dev 2026 Developer Unconference]]&lt;br /&gt;
* [[PGConf.dev 2026 In-Person Commitfest]]&lt;br /&gt;
* [[PGConf.dev 2026 Translators and Translation Tooling]]&lt;br /&gt;
&lt;br /&gt;
== Blog Postings and Videos ==&lt;br /&gt;
&lt;br /&gt;
* (later)&lt;br /&gt;
&lt;br /&gt;
[[Category:Unconference]] [[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43216</id>
		<title>PGConf.dev 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43216"/>
		<updated>2026-04-10T10:07:42Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Wiki Pages related to the conference */ add link to commitfest&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PostgreSQL Development Conference 2026 ([https://2026.pgconf.dev PGConf.dev 2026]) will take place in &#039;&#039;Vancouver, Canada&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://2026.pgconf.dev Website]&lt;br /&gt;
* [https://www.pgevents.ca/events/pgconfdev2026/schedule/ Schedule + Slides]&lt;br /&gt;
* Recordings (later)&lt;br /&gt;
&lt;br /&gt;
== Wiki Pages related to the conference ==&lt;br /&gt;
&lt;br /&gt;
* [[PGConf.dev 2026 Developer Unconference]]&lt;br /&gt;
* [[PGConf.dev 2026 In-Person Commitfest]]&lt;br /&gt;
&lt;br /&gt;
== Blog Postings and Videos ==&lt;br /&gt;
&lt;br /&gt;
* (later)&lt;br /&gt;
&lt;br /&gt;
[[Category:Unconference]] [[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43215</id>
		<title>PGConf.dev 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2026&amp;diff=43215"/>
		<updated>2026-04-10T09:57:38Z</updated>

		<summary type="html">&lt;p&gt;Petere: created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PostgreSQL Development Conference 2026 ([https://2026.pgconf.dev PGConf.dev 2026]) will take place in &#039;&#039;Vancouver, Canada&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://2026.pgconf.dev Website]&lt;br /&gt;
* [https://www.pgevents.ca/events/pgconfdev2026/schedule/ Schedule + Slides]&lt;br /&gt;
* Recordings (later)&lt;br /&gt;
&lt;br /&gt;
== Wiki Pages related to the conference ==&lt;br /&gt;
&lt;br /&gt;
* [[PGConf.dev 2026 Developer Unconference]]&lt;br /&gt;
&lt;br /&gt;
== Blog Postings and Videos ==&lt;br /&gt;
&lt;br /&gt;
* (later)&lt;br /&gt;
&lt;br /&gt;
[[Category:Unconference]] [[Category:PGConf.dev]] [[Category:PGConf.dev 2026]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PGConf.dev_2025&amp;diff=43214</id>
		<title>PGConf.dev 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PGConf.dev_2025&amp;diff=43214"/>
		<updated>2026-04-10T09:07:15Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Resources */ add YouTube playlist link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PostgreSQL Development Conference 2025 ([https://2025.pgconf.dev PGConf.dev 2025]) took place in &#039;&#039;Montreal, Canada&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://2025.pgconf.dev Website]&lt;br /&gt;
* [https://www.pgevents.ca/events/pgconfdev2025/schedule/ Schedule + Slides]&lt;br /&gt;
* [https://youtube.com/playlist?list=PLTw6f6dqzO1tCLr_OHjZ37kY2r35u2tCq&amp;amp;si=yAR2shc_hrydUMzz Recordings]&lt;br /&gt;
&lt;br /&gt;
== Wiki Pages related to the conference ==&lt;br /&gt;
&lt;br /&gt;
* [[PGConf.dev 2025 Developer Unconference]]&lt;br /&gt;
* [[PGConf.dev 2025 Extension Summit]]&lt;br /&gt;
* [[PGConf.dev 2025 Community Summit]]&lt;br /&gt;
* [[PGConf.dev 2025 Developer Meeting]]&lt;br /&gt;
&lt;br /&gt;
== Blog Postings and Videos ==&lt;br /&gt;
&lt;br /&gt;
* https://hornetlabs.ca/2025/05/21/pgconf-dev-2025-wraps-up-with-great-success-in-montreal/&lt;br /&gt;
&lt;br /&gt;
[[Category:Unconference]] [[Category:PGConf.dev]] [[Category:PGConf.dev 2025]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=Meson&amp;diff=43197</id>
		<title>Meson</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=Meson&amp;diff=43197"/>
		<updated>2026-04-08T12:45:24Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Windows */ use winflexbison3 package&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PostgreSQL devel documentation ==&lt;br /&gt;
&lt;br /&gt;
See [https://www.postgresql.org/docs/devel/install-meson.html &amp;quot;Building and Installation with Meson&amp;quot; section] of PostgreSQL devel docs.&lt;br /&gt;
&lt;br /&gt;
== Autoconf:meson command translations ==&lt;br /&gt;
&lt;br /&gt;
NOTE: Make sure meson is version 0.57 or higher&lt;br /&gt;
&lt;br /&gt;
=== Setup and build commands ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
!description&lt;br /&gt;
!old command&lt;br /&gt;
!new command&lt;br /&gt;
!comment&lt;br /&gt;
|-&lt;br /&gt;
|| set up build tree&lt;br /&gt;
|| &amp;lt;code&amp;gt;./configure [&amp;lt;i&amp;gt;options&amp;lt;/i&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson setup [&amp;lt;i&amp;gt;options&amp;lt;/i&amp;gt;] [&amp;lt;i&amp;gt;builddir&amp;lt;/i&amp;gt;] &amp;lt;i&amp;gt;sourcedir&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|| meson only supports building out of tree&lt;br /&gt;
|-&lt;br /&gt;
|| set up build tree for visual studio&lt;br /&gt;
|| &amp;lt;code&amp;gt;perl src/tools/msvc/mkvcbuild.pl&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson setup --backend vs [&amp;lt;i&amp;gt;options&amp;lt;/i&amp;gt;] [&amp;lt;i&amp;gt;builddir&amp;lt;/i&amp;gt;] &amp;lt;i&amp;gt;sourcedir&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|| configures build tree for one build type (debug or release or ...)&lt;br /&gt;
|-&lt;br /&gt;
|| show configure options&lt;br /&gt;
|| &amp;lt;code&amp;gt;./configure --help&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson configure&amp;lt;/code&amp;gt;&lt;br /&gt;
|| shows options built into meson and PostgreSQL specific options&lt;br /&gt;
|-&lt;br /&gt;
|| set configure options&lt;br /&gt;
|| &amp;lt;code&amp;gt;./configure --prefix=&amp;lt;i&amp;gt;DIR&amp;lt;/i&amp;gt;, --$somedir=&amp;lt;i&amp;gt;DIR&amp;lt;/i&amp;gt;, --with-$option, --enable-$feature&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson setup|configure -D$option=$value&amp;lt;/code&amp;gt;&lt;br /&gt;
|| options can be set when setting up build tree (setup) and in existing build tree (configure)&lt;br /&gt;
|- &lt;br /&gt;
|| enable cassert&lt;br /&gt;
|| &amp;lt;code&amp;gt;--enable-cassert&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;-Dcassert=true&amp;lt;/code&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|| enable debug symbols&lt;br /&gt;
|| &amp;lt;code&amp;gt;./configure --enable-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson configure|setup -Ddebug=true&amp;lt;/code&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|| specify compiler&lt;br /&gt;
|| &amp;lt;code&amp;gt;CC=&amp;lt;i&amp;gt;compiler&amp;lt;/i&amp;gt; ./configure&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;CC=&amp;lt;i&amp;gt;compiler&amp;lt;/i&amp;gt; meson setup&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;CC&amp;lt;/code&amp;gt; is only checked during meson setup, not with meson configure&lt;br /&gt;
|-&lt;br /&gt;
|| set CFLAGS&lt;br /&gt;
|| &amp;lt;code&amp;gt;CFLAGS=&amp;lt;i&amp;gt;options&amp;lt;/i&amp;gt; ./configure&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson configure|setup -Dc_args=&amp;lt;i&amp;gt;options&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;CFLAGS&amp;lt;/code&amp;gt; is also checked, but only for meson setup&lt;br /&gt;
|-&lt;br /&gt;
|| build&lt;br /&gt;
|| &amp;lt;code&amp;gt;make -s&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja&amp;lt;/code&amp;gt;&lt;br /&gt;
|| ninja uses parallelism by default, launch from the root of the build tree.&lt;br /&gt;
|-&lt;br /&gt;
|| build, showing compiler commands&lt;br /&gt;
|| &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja -v&amp;lt;/code&amp;gt;&lt;br /&gt;
|| ninja uses parallelism by default, launch from the root of the build tree.&lt;br /&gt;
|-&lt;br /&gt;
|| build the documentation&lt;br /&gt;
|| &amp;lt;code&amp;gt;make docs&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja docs&amp;lt;/code&amp;gt;&lt;br /&gt;
|| ninja&#039;s default target builds everything except the docs.&lt;br /&gt;
|-&lt;br /&gt;
|| install all the binaries and libraries&lt;br /&gt;
|| &amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja install&amp;lt;/code&amp;gt;&lt;br /&gt;
|| use &amp;lt;code&amp;gt;meson install --quiet&amp;lt;/code&amp;gt; for a less verbose experience&lt;br /&gt;
|-&lt;br /&gt;
|| install files that changed only&lt;br /&gt;
||&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson install --only-changed&amp;lt;/code&amp;gt;&lt;br /&gt;
|| Routinely shaves a few hundred milliseconds off install time&lt;br /&gt;
|-&lt;br /&gt;
|| clean build&lt;br /&gt;
|| &amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja clean&amp;lt;/code&amp;gt;&lt;br /&gt;
|| ninja uses parallelism by default, launch from the root of the build tree.&lt;br /&gt;
|-&lt;br /&gt;
|| build documentation&lt;br /&gt;
|| &amp;lt;code&amp;gt;cd doc/ &amp;amp;&amp;amp; make html &amp;amp;&amp;amp; make man&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja docs&amp;lt;/code&amp;gt;&lt;br /&gt;
|| Builds html documentation and man pages&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Build directory ====&lt;br /&gt;
&lt;br /&gt;
ninja tries to run from the root of the build directory. If you are not in the build directory, you can use the &amp;lt;code&amp;gt;-C&amp;lt;/code&amp;gt; flag to have ninja &amp;quot;change directory&amp;quot; and run from there, e.g.: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ninja -C $builddir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test related commands ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
!description&lt;br /&gt;
!old command&lt;br /&gt;
!new command&lt;br /&gt;
!comment&lt;br /&gt;
|-&lt;br /&gt;
|| list tests&lt;br /&gt;
||&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test --list&amp;lt;/code&amp;gt;&lt;br /&gt;
|| Only shows tests from &amp;quot;tmp_install&amp;quot; [https://mesonbuild.com/Reference-manual_functions.html#add_test_setup test setup], since it is the default (&amp;lt;code&amp;gt;--setup tmp_install&amp;lt;/code&amp;gt; is implied here)&lt;br /&gt;
|-&lt;br /&gt;
|| install test files not installed by default&lt;br /&gt;
||&lt;br /&gt;
|| &amp;lt;code&amp;gt;ninja install-test-files&amp;lt;/code&amp;gt;&lt;br /&gt;
|| not needed for the main regression tests, but various others will fail without this&lt;br /&gt;
|-&lt;br /&gt;
|| list running/installcheck test variants&lt;br /&gt;
||&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test --setup running --list&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;quot;running&amp;quot; [https://mesonbuild.com/Reference-manual_functions.html#add_test_setup test setup] is used to run tests against an existing server&lt;br /&gt;
|-&lt;br /&gt;
|| run all tests&lt;br /&gt;
|| &amp;lt;code&amp;gt;make check-world&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs&amp;lt;/code&amp;gt;&lt;br /&gt;
|| runs all test, using parallelism by default&lt;br /&gt;
|-&lt;br /&gt;
|| run all tests against existing server&lt;br /&gt;
|| &amp;lt;code&amp;gt;make installcheck-world&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --setup running&amp;lt;/code&amp;gt;&lt;br /&gt;
|| Currently [https://postgr.es/m/CAH2-Wz=X7=5jU-+XXJaqQRZja_fseEtrd_dGJa0Wpb74OpsgEA@mail.gmail.com makes brittle assumptions] about test libraries being installed&lt;br /&gt;
|-&lt;br /&gt;
|| run main regression tests&lt;br /&gt;
|| &amp;lt;code&amp;gt;make check&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --suite setup --suite regress&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; required to get a &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory; see below&lt;br /&gt;
|-&lt;br /&gt;
|| run a few specific regression tests&lt;br /&gt;
|| &amp;lt;code&amp;gt;make check-tests TESTS=&amp;quot;test_setup boolean char&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --suite setup &amp;amp;&amp;amp; TESTS=&amp;quot;test_setup boolean char&amp;quot; meson test -v --print-errorlogs --suite regress&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; required to get a &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory; see below. Also, sometimes tests have dependencies on objects created by other tests (e.g., test_setup, create_index), which can cause unexpected failures. For full details see &amp;lt;code&amp;gt;src/test/regress/parallel_schedule&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|| run specific contrib test suite&lt;br /&gt;
|| &amp;lt;code&amp;gt;make -C contrib/amcheck check&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --suite setup --suite amcheck&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; required to get a &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory; see below.&lt;br /&gt;
|-&lt;br /&gt;
|| run a few specific Perl TAP tests&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --suite setup &amp;amp;&amp;amp; meson test -q --print-errorlogs recovery/013_crash_restart recovery/027_stream_regress&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; required to get a &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory; see below&lt;br /&gt;
|-&lt;br /&gt;
|| run Perl TAP tests matching a wildcard pattern&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --suite setup &amp;amp;&amp;amp; meson test -q --print-errorlogs &#039;*archive*&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; required to get a &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory; see below&lt;br /&gt;
|-&lt;br /&gt;
|| run main regression tests against existing server&lt;br /&gt;
|| &amp;lt;code&amp;gt;make installcheck&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --setup running --suite regress-running&amp;lt;/code&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|| run a few specific regression tests against existing server&lt;br /&gt;
|| &amp;lt;code&amp;gt;make installcheck-tests TESTS=&amp;quot;test_setup boolean char&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;TESTS=&amp;quot;test_setup boolean char&amp;quot; meson test -v --print-errorlogs --suite regress-running&amp;lt;/code&amp;gt;&lt;br /&gt;
|| Sometimes tests have dependencies on objects created by other tests (e.g., test_setup, create_index), which can cause unexpected failures. For full details see &amp;lt;code&amp;gt;src/test/regress/parallel_schedule&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|| run specific contrib test suite against existing server&lt;br /&gt;
|| &amp;lt;code&amp;gt;make -C contrib/amcheck installcheck&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --setup running --suite amcheck-running&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;quot;running&amp;quot; amcheck suite variant doesn&#039;t include TAP tests&lt;br /&gt;
|-&lt;br /&gt;
|| run a few specific isolation tests&lt;br /&gt;
||&lt;br /&gt;
|| &amp;lt;code&amp;gt;meson test -q --print-errorlogs --suite setup &amp;amp;&amp;amp; TESTS=&amp;quot;freeze-the-dead vacuum-no-cleanup-lock&amp;quot; meson test -v --print-errorlogs --suite isolation&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; required to get a &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory; see below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Test structure ====&lt;br /&gt;
&lt;br /&gt;
When running a specific test suite against a temporary throw away installation, &amp;lt;code&amp;gt;--suite setup&amp;lt;/code&amp;gt; should generally be specified. Otherwise the tests could end up running against a stale &amp;lt;code&amp;gt;tmp_install&amp;lt;/code&amp;gt; directory, causing general confusion. This [https://postgr.es/m/20230209205605.zo5gfhli22g2kdm2@awork3.anarazel.de workaround] is not required when running tests against an existing server (via the &amp;lt;code&amp;gt;running&amp;lt;/code&amp;gt; test setup and variant test suites), since of course the installation directory being tested is whatever directory the external server installation uses.&lt;br /&gt;
&lt;br /&gt;
Note that the top-level/default project name is &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, which is the only one we use in practice. The project name [https://mesonbuild.com/Unit-tests.html#run-subsets-of-tests can be omitted] when using a reasonably recent meson version (meson 0.46 or later), which we assume here.&lt;br /&gt;
&lt;br /&gt;
You can list all of the tests from a given suite as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/path/to/postgresql/build_meson $ meson test --list --suite amcheck&lt;br /&gt;
ninja: no work to do.&lt;br /&gt;
postgresql:amcheck / amcheck/regress&lt;br /&gt;
postgresql:amcheck / amcheck/001_verify_heapam&lt;br /&gt;
postgresql:amcheck / amcheck/002_cic&lt;br /&gt;
postgresql:amcheck / amcheck/003_cic_2pc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that there are distinct &amp;lt;code&amp;gt;running&amp;lt;/code&amp;gt;/installcheck suites for most of the standard setup suites, though not all of the tests actually carry over to the &amp;lt;code&amp;gt;running&amp;lt;/code&amp;gt; variant suites, as shown here:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/path/to/postgresql/build_meson $ meson test --list --suite amcheck-running&lt;br /&gt;
ninja: no work to do.&lt;br /&gt;
postgresql:amcheck-running / amcheck-running/regress&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Meson ==&lt;br /&gt;
&lt;br /&gt;
=== FreeBSD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pkg install meson ninja&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arguments to meson setup/configure to find ports libraries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
meson setup -Dextra_lib_dirs=/opt/local/lib -Dextra_include_dirs=/opt/local/include $builddir $sourcedir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Debian / Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get update &amp;amp;&amp;amp; apt-get install -y meson ninja-build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fedora:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y install meson ninja-build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RHEL 8:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y install dnf-plugins-core&lt;br /&gt;
dnf config-manager --set-enabled powertools&lt;br /&gt;
dnf -y install meson ninja-build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RHEL 9 (tested on Rocky Linux 9):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf -y install dnf-plugins-core&lt;br /&gt;
dnf config-manager --set-enabled crb&lt;br /&gt;
dnf -y install meson&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== macOS ===&lt;br /&gt;
&lt;br /&gt;
With MacPorts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install meson&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arguments to meson setup/configure to find MacPorts libraries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
meson setup -Dpkg_config_path=/opt/local/lib/pkgconfig -Dextra_lib_dirs=/opt/local/lib/ -Dextra_include_dirs=/opt/local/include $builddir $sourcedir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With Homebrew:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
brew install meson&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arguments to meson setup/configure to find Homebrew libraries:&lt;br /&gt;
&lt;br /&gt;
On arm64:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
meson setup -Dpkg_config_path=/opt/homebrew/lib/pkgconfig -Dextra_include_dirs=/opt/homebrew/include -Dextra_lib_dirs=/opt/homebrew/lib $builddir $sourcedir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On x86-64:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
meson setup -Dpkg_config_path=/usr/local/lib/pkgconfig -Dextra_include_dirs=/usr/local/include -Dextra_lib_dirs=/usr/local/lib $builddir $sourcedir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Assuming python is installed, the easiest way to get meson and ninja is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pip install meson ninja&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As documented on the [https://mesonbuild.com/Getting-meson.html meson website], a MSI installer is also available.&lt;br /&gt;
&lt;br /&gt;
Using the most recent version of ActivePerl may be a bit challenging, as there is no direct access to a &amp;quot;perl&amp;quot; command except if enabling a project registered in the ActivePerl website, with a command like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
state activate --default&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An easy way to set up things is to install Chocolatey, and rely on StrawberryPerl. Here are the main packages to worry about:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
choco install winflexbison3&lt;br /&gt;
choco install sed&lt;br /&gt;
choco install gzip&lt;br /&gt;
choco install strawberryperl&lt;br /&gt;
choco install diffutils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The compiler detected will depend on the Command Prompt type used. For MSVC, use the command prompt installed for VS. A native Command  prompt or Powershell may finish by linking to Chocolatey&#039;s gcc, which may be OK, still be careful with what&#039;s reported by meson setup.&lt;br /&gt;
&lt;br /&gt;
== Why and What ==&lt;br /&gt;
&lt;br /&gt;
Autoconf is showing its age, fewer and fewer contributors know how to wrangle&lt;br /&gt;
it. Recursive make has a lot of hard to resolve dependency issues and slow&lt;br /&gt;
incremental rebuilds. Our home-grown MSVC buildsystem is hard to maintain for&lt;br /&gt;
developers not using windows and runs tests serially. While these and other&lt;br /&gt;
issues could individually be addressed with incremental improvements, together&lt;br /&gt;
they seem best addressed by moving to a more modern buildsystem.&lt;br /&gt;
&lt;br /&gt;
After evaluating different buildsystem choices, we chose to use meson, to a&lt;br /&gt;
good degree based on the adoption by other open source projects.&lt;br /&gt;
&lt;br /&gt;
We decided that it&#039;s more realistic to commit a relatively early version of&lt;br /&gt;
the new buildsystem and mature it in tree.&lt;br /&gt;
&lt;br /&gt;
The plan is to remove the msvc specific buildsystem in src/tools/msvc soon&lt;br /&gt;
after reaching feature parity. However, we&#039;re not planning to remove the&lt;br /&gt;
autoconf/make buildsystem in the near future. Likely we&#039;re going to keep at&lt;br /&gt;
least the parts required for PGXS to keep working around until all supported&lt;br /&gt;
versions build with meson.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Meson documentation ==&lt;br /&gt;
&lt;br /&gt;
* [https://mesonbuild.com/Commands.html meson commandline commands]&lt;br /&gt;
* [https://mesonbuild.com/Syntax.html meson syntax]&lt;br /&gt;
* [https://mesonbuild.com/Reference-manual_functions.html meson functions]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development tree, other resources ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/anarazel/postgres/tree/meson&lt;br /&gt;
* https://wiki.postgresql.org/wiki/PgCon_2022_Developer_Unconference#Meson_new_build_system_proposal&lt;br /&gt;
&lt;br /&gt;
== Visualizing builds ==&lt;br /&gt;
&lt;br /&gt;
When building with ninja, the generated .ninja_log can be uploaded to [https://ui.perfetto.dev/ ui.perfetto.dev], which is very helpful to visualize builds.&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PostgreSQL_19_Open_Items&amp;diff=43188</id>
		<title>PostgreSQL 19 Open Items</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PostgreSQL_19_Open_Items&amp;diff=43188"/>
		<updated>2026-04-07T08:36:04Z</updated>

		<summary type="html">&lt;p&gt;Petere: Fixed: pg_upgrade fails when extension_control_path is used&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important Dates ==&lt;br /&gt;
&lt;br /&gt;
Current schedule:&lt;br /&gt;
&lt;br /&gt;
* Feature Freeze: April 8, 2026 12:00 UTC&lt;br /&gt;
&lt;br /&gt;
== Decisions to Recheck Mid-Beta ==&lt;br /&gt;
&lt;br /&gt;
* Do we want to keep the assertions added by commit {{PgCommitURL|7dcea51c2a4d}}&lt;br /&gt;
** Owner: Álvaro Herrera&lt;br /&gt;
&lt;br /&gt;
* When exactly should we revert {{messageLink|DDPR5BPWH1RJ.1LWAK6QAURVAY%40jeltef.nl|protocol grease}}?&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CAEze2WjP0NpAjNioXzLiNkpNQcxCMtaNajaQXfufYVcyFyqW1g%40mail.gmail.com|2=No method to block effective_wal_level=logical when wal_level=replica is needed}}&lt;br /&gt;
&lt;br /&gt;
* Revert the beta-only grease patch ({{PgCommitURL|4966bd3ed}}) before RC1.&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|ab0dcc9e-aba0-44e3-ac23-8d74c48888e6@postgrespro.ru|BM_IO_ERROR flag is lost in TerminateBufferIO due to order of operations in UnlockBufHdrExt}}&lt;br /&gt;
** Commit: {{PgCommitURL|c75ebc657ffc}} ?&lt;br /&gt;
** Owner: Andres Freund&lt;br /&gt;
&lt;br /&gt;
* Should FOR PORTION OF use null values for unbounded ranges or a separate keyword?&lt;br /&gt;
** Commit: {{PgCommitURL|8e72d914c52}}&lt;br /&gt;
** Owner: Peter Eisentraut / Paul Jungwirth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: Please place new open items at the end of the list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: If known, please list the Owner of the open item.&lt;br /&gt;
&lt;br /&gt;
== Resolved Issues ==&lt;br /&gt;
&lt;br /&gt;
=== resolved before 19beta1 ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|acMiT69EEGKHWGM5@paquier.xyz|2=Add tests for locks statistics}}&lt;br /&gt;
** Commit: {{PgCommitURL|7c64d56fd9765bb577937c07eabed971e605c67c}} removed the tests as unstable in the CI for Windows, at least.&lt;br /&gt;
** Fix: {{PgCommitURL|557a9f1e3e62}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|C2133B47-79CD-40FF-B088-02D20D654806@gmail.com|Deferred foreign key checks mistakenly don&#039;t use batched path}}&lt;br /&gt;
** Commit: {{PgCommitURL|b7b27eb41a5}} &lt;br /&gt;
** Fix: {{PgCommitURL|5c54c3ed1b934}}&lt;br /&gt;
** Owner: Amit Langote&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|43b3691c673a8b9158f5a09f06eacc3c63e2c02d.camel@gmail.com|2=pg_upgrade fails when extension_control_path is used}}&lt;br /&gt;
** Commit: {{PgCommitURL|4f7f7b0375854e2f89876473405a8f21c95012af}} added this feature to 18; upgrading to 19 fails.&lt;br /&gt;
** Fix: {{PgCommitURL|1e67508730e}}&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Non-bugs ==&lt;br /&gt;
&lt;br /&gt;
== Won&#039;t Fix ==&lt;br /&gt;
&lt;br /&gt;
== Older bugs affecting stable branches ==&lt;br /&gt;
&lt;br /&gt;
=== Live issues ===&lt;br /&gt;
&lt;br /&gt;
=== Fixed issues ===&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release Management Team]]&lt;br /&gt;
* [[PostgreSQL 18 Open Items]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Open_Items]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PostgreSQL_19_Open_Items&amp;diff=43187</id>
		<title>PostgreSQL 19 Open Items</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PostgreSQL_19_Open_Items&amp;diff=43187"/>
		<updated>2026-04-07T08:33:18Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Open Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important Dates ==&lt;br /&gt;
&lt;br /&gt;
Current schedule:&lt;br /&gt;
&lt;br /&gt;
* Feature Freeze: April 8, 2026 12:00 UTC&lt;br /&gt;
&lt;br /&gt;
== Decisions to Recheck Mid-Beta ==&lt;br /&gt;
&lt;br /&gt;
* Do we want to keep the assertions added by commit {{PgCommitURL|7dcea51c2a4d}}&lt;br /&gt;
** Owner: Álvaro Herrera&lt;br /&gt;
&lt;br /&gt;
* When exactly should we revert {{messageLink|DDPR5BPWH1RJ.1LWAK6QAURVAY%40jeltef.nl|protocol grease}}?&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CAEze2WjP0NpAjNioXzLiNkpNQcxCMtaNajaQXfufYVcyFyqW1g%40mail.gmail.com|2=No method to block effective_wal_level=logical when wal_level=replica is needed}}&lt;br /&gt;
&lt;br /&gt;
* Revert the beta-only grease patch ({{PgCommitURL|4966bd3ed}}) before RC1.&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|43b3691c673a8b9158f5a09f06eacc3c63e2c02d.camel@gmail.com|2=pg_upgrade fails when extension_control_path is used}}&lt;br /&gt;
** Commit: {{PgCommitURL|4f7f7b0375854e2f89876473405a8f21c95012af}} added this feature to 18; upgrading to 19 fails.&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|ab0dcc9e-aba0-44e3-ac23-8d74c48888e6@postgrespro.ru|BM_IO_ERROR flag is lost in TerminateBufferIO due to order of operations in UnlockBufHdrExt}}&lt;br /&gt;
** Commit: {{PgCommitURL|c75ebc657ffc}} ?&lt;br /&gt;
** Owner: Andres Freund&lt;br /&gt;
&lt;br /&gt;
* Should FOR PORTION OF use null values for unbounded ranges or a separate keyword?&lt;br /&gt;
** Commit: {{PgCommitURL|8e72d914c52}}&lt;br /&gt;
** Owner: Peter Eisentraut / Paul Jungwirth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: Please place new open items at the end of the list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: If known, please list the Owner of the open item.&lt;br /&gt;
&lt;br /&gt;
== Resolved Issues ==&lt;br /&gt;
&lt;br /&gt;
=== resolved before 19beta1 ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|acMiT69EEGKHWGM5@paquier.xyz|2=Add tests for locks statistics}}&lt;br /&gt;
** Commit: {{PgCommitURL|7c64d56fd9765bb577937c07eabed971e605c67c}} removed the tests as unstable in the CI for Windows, at least.&lt;br /&gt;
** Fix: {{PgCommitURL|557a9f1e3e62}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|C2133B47-79CD-40FF-B088-02D20D654806@gmail.com|Deferred foreign key checks mistakenly don&#039;t use batched path}}&lt;br /&gt;
** Commit: {{PgCommitURL|b7b27eb41a5}} &lt;br /&gt;
** Fix: {{PgCommitURL|5c54c3ed1b934}}&lt;br /&gt;
** Owner: Amit Langote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Non-bugs ==&lt;br /&gt;
&lt;br /&gt;
== Won&#039;t Fix ==&lt;br /&gt;
&lt;br /&gt;
== Older bugs affecting stable branches ==&lt;br /&gt;
&lt;br /&gt;
=== Live issues ===&lt;br /&gt;
&lt;br /&gt;
=== Fixed issues ===&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release Management Team]]&lt;br /&gt;
* [[PostgreSQL 18 Open Items]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Open_Items]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42818</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42818"/>
		<updated>2026-01-30T17:13:46Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work ([[CollationStatus]])&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Review of the state of development processes and commitfests&lt;br /&gt;
** discussion about having subsystem maintainers, to enable contact points for patch submissions; could use tags in CF app to organize this&lt;br /&gt;
** discussion about being able to follow patches without signing up as reviewer&lt;br /&gt;
** straw poll: 9–0 in favor of having only one commitfest per development cycle, provided some mechanism of aging out stale patches earlier&lt;br /&gt;
&lt;br /&gt;
* reduce the need for rebasing patches&lt;br /&gt;
** sources of conflicts?&lt;br /&gt;
*** #includes&lt;br /&gt;
*** new GUCs added at end of lists (might be obsolete)&lt;br /&gt;
*** typos fixes&lt;br /&gt;
*** pg_proc.dat&lt;br /&gt;
** idea: pg_xxx.dat.new during patch development&lt;br /&gt;
** maybe reorder pg_proc.dat to discourage everyone trying to add new entries in the same place&lt;br /&gt;
** collect more data about conflict causes from cfbot?&lt;br /&gt;
&lt;br /&gt;
* dealing with large refactoring patches&lt;br /&gt;
** split patches into series, large mechanical changes could use &amp;quot;nocfbot-&amp;quot; prefix&lt;br /&gt;
** some large changes could be parked for after feature freeze; register under Open Items&lt;br /&gt;
** discussion about backpatching impact&lt;br /&gt;
&lt;br /&gt;
* Planning for the upcoming beta period&lt;br /&gt;
** RMT (Tomas):&lt;br /&gt;
*** regular meetings every two weeks were useful&lt;br /&gt;
*** question about what &amp;quot;mid-beta&amp;quot; means&lt;br /&gt;
** packaging:&lt;br /&gt;
*** getting extension authors to update their extensions for a new major release is a challenge every year&lt;br /&gt;
*** unclear when extensions are expected to be ready, some extension authors don&#039;t want to put in the work too early&lt;br /&gt;
*** suggestion: extension authors should start their work after the June/July beta, extensions ready for August beta (would need to be documented)&lt;br /&gt;
&lt;br /&gt;
* synthetic patch submissions and reviews&lt;br /&gt;
** discussion on possible incentives (credit, work/school work, native language, experimentation), possible remedies&lt;br /&gt;
&lt;br /&gt;
* Commitfest website feedback and brainstorming&lt;br /&gt;
** forwarded some of the discussion above to CF app developer&lt;br /&gt;
** &amp;quot;follow patch&amp;quot; could be the same as current &amp;quot;subscribe to patch&amp;quot; without email&lt;br /&gt;
** access control to CF app needs to be refined, currently only former CF managers can edit certain things such as tags&lt;br /&gt;
** the newly deployed automoving functionality will run for the first time on 1st Feb., exciting&lt;br /&gt;
&lt;br /&gt;
* other&lt;br /&gt;
** Bruce: new PCI standard no longer allows disk encryption; temporary files compression work might make TDE work easier in the future&lt;br /&gt;
** Devrim: wants more advance notice of new or raised dependencies, authors/committers are encouraged to notify pgsql-packagers right away&lt;br /&gt;
** Christoph: straw poll: 9–0 in favor of disabling JIT by default&lt;br /&gt;
&lt;br /&gt;
* patch triage&lt;br /&gt;
** 64-bit xids patch was discussed extensively, everyone is in favor of having it, work should continue&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42817</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42817"/>
		<updated>2026-01-30T17:06:03Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work ([[CollationStatus]])&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Review of the state of development processes and commitfests&lt;br /&gt;
** discussion about having subsystem maintainers, to enable contact points for patch submissions; could use tags in CF app to organize this&lt;br /&gt;
** discussion about being able to follow patches without signing up as reviewer&lt;br /&gt;
** straw poll: 9–0 in favor of having only one commitfest per development cycle, provided some mechanism of aging out stale patches earlier&lt;br /&gt;
&lt;br /&gt;
* reduce the need for rebasing patches&lt;br /&gt;
** sources of conflicts?&lt;br /&gt;
*** #includes&lt;br /&gt;
*** new GUCs added at end of lists (might be obsolete)&lt;br /&gt;
*** typos fixes&lt;br /&gt;
*** pg_proc.dat&lt;br /&gt;
** idea: pg_xxx.dat.new during patch development&lt;br /&gt;
** maybe reorder pg_proc.dat to discourage everyone trying to add new entries in the same place&lt;br /&gt;
** collect more data about conflict causes from cfbot?&lt;br /&gt;
&lt;br /&gt;
* dealing with large refactoring patches&lt;br /&gt;
** split patches into series, large mechanical changes could use &amp;quot;nocfbot-&amp;quot; prefix&lt;br /&gt;
** some large changes could be parked for after feature freeze; register under Open Items&lt;br /&gt;
** discussion about backpatching impact&lt;br /&gt;
&lt;br /&gt;
* Planning for the upcoming beta period&lt;br /&gt;
** RMT (Tomas):&lt;br /&gt;
*** regular meetings every two weeks were useful&lt;br /&gt;
*** question about what &amp;quot;mid-beta&amp;quot; means&lt;br /&gt;
** packaging:&lt;br /&gt;
*** getting extension authors to update their extensions for a new major release is a challenge every year&lt;br /&gt;
*** unclear when extensions are expected to be ready, some extension authors don&#039;t want to put in the work too early&lt;br /&gt;
*** suggestion: extension authors should start their work after the June/July beta, extensions ready for August beta (would need to be documented)&lt;br /&gt;
&lt;br /&gt;
* Commitfest website feedback and brainstorming&lt;br /&gt;
** forwarded some of the discussion above to CF app developer&lt;br /&gt;
** &amp;quot;follow patch&amp;quot; could be the same as current &amp;quot;subscribe to patch&amp;quot; without email&lt;br /&gt;
** access control to CF app needs to be refined, currently only former CF managers can edit certain things such as tags&lt;br /&gt;
** the newly deployed automoving functionality will run for the first time on 1st Feb., exciting&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42816</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42816"/>
		<updated>2026-01-30T17:04:43Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Review of the state of development processes and commitfests&lt;br /&gt;
** discussion about having subsystem maintainers, to enable contact points for patch submissions; could use tags in CF app to organize this&lt;br /&gt;
** discussion about being able to follow patches without signing up as reviewer&lt;br /&gt;
** straw poll: 9–0 in favor of having only one commitfest per development cycle, provided some mechanism of aging out stale patches earlier&lt;br /&gt;
&lt;br /&gt;
* reduce the need for rebasing patches&lt;br /&gt;
** sources of conflicts?&lt;br /&gt;
*** #includes&lt;br /&gt;
*** new GUCs added at end of lists (might be obsolete)&lt;br /&gt;
*** typos fixes&lt;br /&gt;
*** pg_proc.dat&lt;br /&gt;
** idea: pg_xxx.dat.new during patch development&lt;br /&gt;
** maybe reorder pg_proc.dat to discourage everyone trying to add new entries in the same place&lt;br /&gt;
** collect more data about conflict causes from cfbot?&lt;br /&gt;
&lt;br /&gt;
* dealing with large refactoring patches&lt;br /&gt;
** split patches into series, large mechanical changes could use &amp;quot;nocfbot-&amp;quot; prefix&lt;br /&gt;
** some large changes could be parked for after feature freeze; register under Open Items&lt;br /&gt;
** discussion about backpatching impact&lt;br /&gt;
&lt;br /&gt;
* Planning for the upcoming beta period&lt;br /&gt;
** RMT (Tomas):&lt;br /&gt;
*** regular meetings every two weeks were useful&lt;br /&gt;
*** question about what &amp;quot;mid-beta&amp;quot; means&lt;br /&gt;
** packaging:&lt;br /&gt;
*** getting extension authors to update their extensions for a new major release is a challenge every year&lt;br /&gt;
*** unclear when extensions are expected to be ready, some extension authors don&#039;t want to put in the work too early&lt;br /&gt;
*** suggestion: extension authors should start their work after the June/July beta, extensions ready for August beta (would need to be documented)&lt;br /&gt;
&lt;br /&gt;
* Commitfest website feedback and brainstorming&lt;br /&gt;
** forwarded some of the discussion above to CF app developer&lt;br /&gt;
** &amp;quot;follow patch&amp;quot; could be the same as current &amp;quot;subscribe to patch&amp;quot; without email&lt;br /&gt;
** access control to CF app needs to be refined, currently only former CF managers can edit certain things such as tags&lt;br /&gt;
** the newly deployed automoving functionality will run for the first time on 1st Feb., exciting&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42815</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42815"/>
		<updated>2026-01-30T14:09:50Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Review of the state of development processes and commitfests&lt;br /&gt;
** discussion about having subsystem maintainers, to enable contact points for patch submissions; could use tags in CF app to organize this&lt;br /&gt;
** discussion about being able to follow patches without signing up as reviewer&lt;br /&gt;
** straw poll: 9–0 in favor of having only one commitfest per development cycle, provided some mechanism of aging out stale patches earlier&lt;br /&gt;
&lt;br /&gt;
* reduce the need for rebasing patches&lt;br /&gt;
** sources of conflicts?&lt;br /&gt;
*** #includes&lt;br /&gt;
*** new GUCs added at end of lists (might be obsolete)&lt;br /&gt;
*** typos fixes&lt;br /&gt;
*** pg_proc.dat&lt;br /&gt;
** idea: pg_xxx.dat.new during patch development&lt;br /&gt;
** maybe reorder pg_proc.dat to discourage everyone trying to add new entries in the same place&lt;br /&gt;
** collect more data about conflict causes from cfbot?&lt;br /&gt;
&lt;br /&gt;
* dealing with large refactoring patches&lt;br /&gt;
** split patches into series, large mechanical changes could use &amp;quot;nocfbot-&amp;quot; prefix&lt;br /&gt;
** some large changes could be parked for after feature freeze; register under Open Items&lt;br /&gt;
** discussion about backpatching impact&lt;br /&gt;
&lt;br /&gt;
* Commitfest website feedback and brainstorming&lt;br /&gt;
** forwarded some of the discussion above to CF app developer&lt;br /&gt;
** &amp;quot;follow patch&amp;quot; could be the same as current &amp;quot;subscribe to patch&amp;quot; without email&lt;br /&gt;
** access control to CF app needs to be refined, currently only former CF managers can edit certain things such as tags&lt;br /&gt;
** the newly deployed automoving functionality will run for the first time on 1st Feb., exciting&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42814</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42814"/>
		<updated>2026-01-30T14:06:01Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Review of the state of development processes and commitfests&lt;br /&gt;
** discussion about having subsystem maintainers, to enable contact points for patch submissions; could use tags in CF app to organize this&lt;br /&gt;
** discussion about being able to follow patches without signing up as reviewer&lt;br /&gt;
** straw poll: 9–0 in favor of having only one commitfest per development cycle, provided some mechanism of aging out stale patches earlier&lt;br /&gt;
&lt;br /&gt;
* reduce the need for rebasing patches&lt;br /&gt;
** sources of conflicts?&lt;br /&gt;
*** #includes&lt;br /&gt;
*** new GUCs added at end of lists (might be obsolete)&lt;br /&gt;
*** typos fixes&lt;br /&gt;
*** pg_proc.dat&lt;br /&gt;
** idea: pg_xxx.dat.new during patch development&lt;br /&gt;
** maybe reorder pg_proc.dat to discourage everyone trying to add new entries in the same place&lt;br /&gt;
** collect more data about conflict causes from cfbot?&lt;br /&gt;
&lt;br /&gt;
* Commitfest website feedback and brainstorming&lt;br /&gt;
** forwarded some of the discussion above to CF app developer&lt;br /&gt;
** &amp;quot;follow patch&amp;quot; could be the same as current &amp;quot;subscribe to patch&amp;quot; without email&lt;br /&gt;
** access control to CF app needs to be refined, currently only former CF managers can edit certain things such as tags&lt;br /&gt;
** the newly deployed automoving functionality will run for the first time on 1st Feb., exciting&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42813</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42813"/>
		<updated>2026-01-30T13:07:36Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Review of the state of development processes and commitfests&lt;br /&gt;
** discussion about having subsystem maintainers, to enable contact points for patch submissions; could use tags in CF app to organize this&lt;br /&gt;
** discussion about being able to follow patches without signing up as reviewer&lt;br /&gt;
** straw poll: 9–0 in favor of having only one commitfest per development cycle, provided some mechanism of aging out stale patches earlier&lt;br /&gt;
&lt;br /&gt;
* Commitfest website feedback and brainstorming&lt;br /&gt;
** forwarded some of the discussion above to CF app developer&lt;br /&gt;
** &amp;quot;follow patch&amp;quot; could be the same as current &amp;quot;subscribe to patch&amp;quot; without email&lt;br /&gt;
** access control to CF app needs to be refined, currently only former CF managers can edit certain things such as tags&lt;br /&gt;
** the newly deployed automoving functionality will run for the first time on 1st Feb., exciting&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42812</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42812"/>
		<updated>2026-01-30T12:57:29Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* Logical Replication ([https://www.postgresql.org/message-id/CAMT0RQQx43yrCv5iB0A7H56VngTzw0gfJjVdwrtZ03ZMLWVk3g@mail.gmail.com &amp;quot;making tid and HOTness of UPDATE available to logical decoding plugins&amp;quot; etc.] (Matthias)&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
== Group photo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Fosdem-pgday-dev-meeting-2026.jpeg|728px]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=File:Fosdem-pgday-dev-meeting-2026.jpeg&amp;diff=42811</id>
		<title>File:Fosdem-pgday-dev-meeting-2026.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=File:Fosdem-pgday-dev-meeting-2026.jpeg&amp;diff=42811"/>
		<updated>2026-01-30T12:54:19Z</updated>

		<summary type="html">&lt;p&gt;Petere: FOSDEM PGDay 2026 developer meeting group photo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
FOSDEM PGDay 2026 developer meeting group photo&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42803</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42803"/>
		<updated>2026-01-29T12:28:29Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# &amp;lt;s&amp;gt;Jeff&amp;lt;/s&amp;gt; (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:25&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:25–15:30&lt;br /&gt;
|Group photo&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–16:20&lt;br /&gt;
|Any other business&lt;br /&gt;
&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
# Devrim: Distro support for the upcoming features&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:20–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* …&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42799</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42799"/>
		<updated>2026-01-29T09:59:08Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# ~~Jeff~~ (Peter): locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# ~~Nathan: SIMD~~&lt;br /&gt;
# Christoph: contributor badges&lt;br /&gt;
# Bruce: TDE&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:30&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* [https://www.postgresql.org/message-id/CACG%3DezYeSygeb68tJVej9Qgji6k78V2reSqzh1_Y4P5GxCAGsw%40mail.gmail.com 64-bit xids] (Alexander)&lt;br /&gt;
* …&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42796</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42796"/>
		<updated>2026-01-28T07:55:12Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:30&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* …&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42793</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42793"/>
		<updated>2026-01-27T08:59:28Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:30&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* …&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42635</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42635"/>
		<updated>2026-01-18T11:15:18Z</updated>

		<summary type="html">&lt;p&gt;Petere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://2026.fosdempgday.org/devmeeting/ for venue and other general information.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:30&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
(see below)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;br /&gt;
&lt;br /&gt;
== Patch triage ==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nominate patches to discuss during the patch triage section here.  Additional patches can be added during the meeting, depending on the available time.&lt;br /&gt;
&lt;br /&gt;
* https://commitfest.postgresql.org/patch/6050/ (Peter)&lt;br /&gt;
* …&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42599</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42599"/>
		<updated>2026-01-16T20:16:49Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:10&lt;br /&gt;
|Welcome and introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:10–09:30&lt;br /&gt;
|Review of the state of development processes and commitfests&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:30–09:50&lt;br /&gt;
|Planning for the upcoming beta period&lt;br /&gt;
&lt;br /&gt;
Schedule, packaging, [[Release Management Team]], etc.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:50–10:10&lt;br /&gt;
|What can we do to reduce the need for rebasing patches? (Daniel)&lt;br /&gt;
&lt;br /&gt;
In the past, OID conflicts was a common reason for patches no longer applying,&lt;br /&gt;
and since we started recommending to use OIDs from a set, that has drastically&lt;br /&gt;
reduced.  We also ask patches to not bump catalog version, which also helps, but&lt;br /&gt;
it&#039;s worth discussing if we can do more.  Can we make a separate&lt;br /&gt;
guc_parameters.dat for patches in flight to remove GUC collisions from rebase&lt;br /&gt;
conflicts?  Are there other causes of trivial conflicts we can remove?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10:10–10:30&lt;br /&gt;
|How to deal with patches that generate a lot of refactoring? (Bertrand)&lt;br /&gt;
&lt;br /&gt;
If a refactoring idea is worth it and would need to update say 200 files with&lt;br /&gt;
say 1000 changes, how do we proceed?  It probably has to be split to ease the review and to avoid rebases for patches&lt;br /&gt;
waiting in the commitfest.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|Development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:00&lt;br /&gt;
|Dealing with near worthless/automated/synthetic patch submissions and reviews (Tomas)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15:00–15:30&lt;br /&gt;
|Commitfest website feedback and brainstorming&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|Patch triage&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42586</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42586"/>
		<updated>2026-01-15T14:46:41Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|(release cycle review and planning)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:30&lt;br /&gt;
|(additional topics)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|(patch triage)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut (organizer)&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42585</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42585"/>
		<updated>2026-01-15T14:37:58Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|(release cycle review and planning)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|Building the next generation of open source contributors, with Claire Giordano&lt;br /&gt;
&lt;br /&gt;
(small presentation followed by discussion, inspired by this talk: https://fosdem.org/2026/schedule/event/JDZXFE-next-generation-contributors-lessons-from-postgres/)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:30&lt;br /&gt;
|(additional topics)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|(patch triage)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-12)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42584</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42584"/>
		<updated>2026-01-15T14:29:57Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|(release cycle review and planning)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|development project status mini-presentations (5 min presentation + 5 min Q&amp;amp;A and changeover)&lt;br /&gt;
&lt;br /&gt;
# Tomas: index prefetching&lt;br /&gt;
# Bertrand: Coccinelle&lt;br /&gt;
# Amit: batching executor&lt;br /&gt;
# Jeff: locale and collation work&lt;br /&gt;
# Peter: C11 and beyond adoption&lt;br /&gt;
# Bilal: Meson conversion&lt;br /&gt;
# Álvaro: repack&lt;br /&gt;
# Nathan: SIMD&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|(building the next generation of open source contributors)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:30&lt;br /&gt;
|(additional topics)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|(patch triage)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-12)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42527</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42527"/>
		<updated>2026-01-12T21:17:48Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|(release cycle review and planning)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|(project status mini-presentations)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–14:30&lt;br /&gt;
|(building the next generation of open source contributors)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14:30–15:30&lt;br /&gt;
|(additional topics)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;font-style:italic;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|(patch triage)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-12)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42526</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42526"/>
		<updated>2026-01-12T11:07:35Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-12)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42525</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42525"/>
		<updated>2026-01-12T11:07:15Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-06)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Álvaro Herrera&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42524</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42524"/>
		<updated>2026-01-12T07:28:44Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–17:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(room available until 18:00)&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-06)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42521</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42521"/>
		<updated>2026-01-06T18:18:56Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–18:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2026-01-06)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Matthias van de Meent&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42479</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42479"/>
		<updated>2025-12-29T07:52:27Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–18:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2025-12-29)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Jelte Fennema-Nio (afternoon)&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42399</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42399"/>
		<updated>2025-12-15T13:20:29Z</updated>

		<summary type="html">&lt;p&gt;Petere: add particpants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–18:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
(confirmed as of 2025-12-15)&lt;br /&gt;
&lt;br /&gt;
* Alexander Korotkov&lt;br /&gt;
* Amit Langote&lt;br /&gt;
* Bertrand Drouvot&lt;br /&gt;
* Bruce Momjian&lt;br /&gt;
* Christoph Berg&lt;br /&gt;
* Daniel Gustafsson&lt;br /&gt;
* Dave Page&lt;br /&gt;
* Devrim Gündüz&lt;br /&gt;
* Jeff Davis&lt;br /&gt;
* Joe Conway&lt;br /&gt;
* Magnus Hagander&lt;br /&gt;
* Nathan Bossart&lt;br /&gt;
* Nazir Bilal Yavuz&lt;br /&gt;
* Peter Eisentraut&lt;br /&gt;
* Thomas Munro&lt;br /&gt;
* Tomas Vondra&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42398</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42398"/>
		<updated>2025-12-15T13:13:48Z</updated>

		<summary type="html">&lt;p&gt;Petere: template schedule&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Time&lt;br /&gt;
!Topic&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|08:00–09:00&lt;br /&gt;
|Coffee (not breakfast)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:00–09:15&lt;br /&gt;
|Welcome and Introductions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|09:15–10:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|10:30–11:00&lt;br /&gt;
|Coffee&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11:00–12:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|12:30–13:30&lt;br /&gt;
|Lunch&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13:30–15:30&lt;br /&gt;
|engaging content&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray;&amp;quot;&lt;br /&gt;
|15:30–16:00&lt;br /&gt;
|Tea&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|16:00–18:00&lt;br /&gt;
|still more content&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PostgreSQL_18_Open_Items&amp;diff=42127</id>
		<title>PostgreSQL 18 Open Items</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PostgreSQL_18_Open_Items&amp;diff=42127"/>
		<updated>2025-11-04T13:50:20Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Older bugs affecting stable branches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Open Issues ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: Please place new open items at the end of the list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: If known, please list the Owner of the open item.&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|8af20905-2cc5-4f1a-b2a2-ca59882aa880%40vondra.me|2=Performance degradation with glibc malloc due to increased catcache memory usage after the btree skip scan patch}}&lt;br /&gt;
** Testing showed that with {{PgCommitURL|92fe23d93aa}} the standard catalogs don&#039;t leave enough memory in GLIBC&#039;s default marginal memory for query planning and execution. This causes glibc to extend and truncate the sbrk area with every executed query, causing high rates of OS-level allocations, page faults, and thus significantly decreasing performance.&lt;br /&gt;
** Though technically an allocator issue, users may not know (how) to configure glibc&#039;s allocator tunables, and so may not get optimal performance.&lt;br /&gt;
** Two approaches to fixing the increased usage of memory by index caches:&lt;br /&gt;
*** Peter G. has a patch to remove BTOPTIONS_PROC (returning BTNProcs back to pg17&#039;s 5, from 6);&lt;br /&gt;
*** Matthias has a patch to change the IndexAmRoutine* returned by index am&#039;s handler_function to a const pointer into static allocations, from a dynamic allocation in memory contexts.&lt;br /&gt;
&lt;br /&gt;
== Decisions to Recheck Mid-Beta ==&lt;br /&gt;
&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
== Older bugs affecting stable branches ==&lt;br /&gt;
&lt;br /&gt;
=== Live issues ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|1=CAH2-Wz%3DPqOziyRSrnN5jAtfXWXY7-BJcHz9S355LH8Dt%3D5qxWQ@mail.gmail.com|2=Incorrect results for (SP-)GIST index-only scans}}&lt;br /&gt;
** GIST and SP-GIST indexes hold tuples in memory after releasing the pin on the page, but before returning them to the executor. This allows VACUUM to concurrently clean up any dead tuples from the page&#039;s results, and mark the heap pages that held the dead tuples as ALL_VISIBLE, breaking index-only scans.&lt;br /&gt;
** Comprehensive fix: {{messageLink|1=CAEze2WgnHJF66BtviDFNCPy26gLrb%2Btfns-Bi62DBfReH0-UCg%40mail.gmail.com|2=Why doesn&#039;t GiST VACUUM require a super-exclusive lock, like nbtree VACUUM?}}&lt;br /&gt;
** Suggested fix for backpatching, 17-: {{messageLink|1=CAEze2WgH13m=MDST58KLo-NkZpbwBEt4xNWcgtghWBwRj3J0+A%40mail.gmail.com|2=&amp;lt;nowiki&amp;gt;[SP-]GiST IOS visibility bug&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxGKWZ3WWC7m_F4v-1X7NP2%3D-eU8hjo37P8RfEcdcVzUTg%40mail.gmail.com|2=generation expression node collation inaccurate}}&lt;br /&gt;
** generation expression node collation does not match the corresponding data type&#039;s collation&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxG5wLiATocRTaC%3Dz%2Bkw4mUaasC-50%2Bq9K%3DfOdAr3%3DOGRw%40mail.gmail.com|2=unsafe change individual column when partition key have wholerow reference}}&lt;br /&gt;
** we should disallow alter individual column if partition key contains wholerow reference&lt;br /&gt;
&lt;br /&gt;
=== Fixed issues ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|873c33c5-ef9e-41f6-80b2-2f5e11869f1c%40garret.ru|Incorrect results for bitmap heap scan.}}&lt;br /&gt;
** Certain Bitmap Heap scans only test the visibility map before returning tuples. This can conflict with VACUUM removing tuples, thus causing more tuples to be returned from the scan than what are actually visible.&lt;br /&gt;
** Commit: {{PgCommitURL|459e7bf8e2}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxG59tip2%2B9h%3DrEv-ykOFjt0cbsPVchhi0RTij8bABBA0Q%40mail.gmail.com|bug in stored generated column over domain with constraints.}}&lt;br /&gt;
** Commit: {{PgCommitURL|7c872849407}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|aBEV3AQwhAMm0v2k%40nathan|2=unsafe access of some catalogs&#039; TOAST tables}}&lt;br /&gt;
** We should consider removing pg_replication_origin&#039;s TOAST table in v18 to fix a few places that don&#039;t set up a snapshot before potentially accessing TOASTed data.&lt;br /&gt;
** Commit: {{PgCommitURL|16bf24e0e4}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/20250626.155608.568829483879866256.ishii@postgresql.org document StartupMessage correctly for protocol 3.2]&lt;br /&gt;
** Commit: {{PgCommitURL|4cff01c4a3}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxFSC0mcQ82bSk58sO-WJY4P-o4N6RD2M0D%3DDD_u_6EzdQ%40mail.gmail.com|2=create domain can create two not-null constraints}}&lt;br /&gt;
** create domain should only create one not-null constraint. This issue exists in PG17 and PG18&lt;br /&gt;
** Commit: {{PgCommitURL|647cffd2f3}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxF-0bqVR%3Dj4jonS6N2Ka6hHUpFyu3_3TWKNhOW_4yFSSg%40mail.gmail.com|2=pg_dump does dump domain notnull constraint comments}}&lt;br /&gt;
** pg_dump need dump these domain not null comments. This issue only exist in PG17 and PG18&lt;br /&gt;
** Commit: {{PgCommitURL|da71717f0a}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxF%3DWDGthXSAQr9thYUsfx_1_t9E6N8tE3B8EqXcVoVfQw%40mail.gmail.com|2=generated column being included in partition key expression}}&lt;br /&gt;
** generated column can not be included in partition key expression, some corner case it will be included&lt;br /&gt;
** Commit: {{PgCommitURL|ba99c9491c4}}&lt;br /&gt;
&lt;br /&gt;
== Non-bugs ==&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|2045026.1743801143@sss.pgh.pa.us|Fundamental scheduling bug in parallel restore of partitioned tables}}&lt;br /&gt;
** Current belief is that this is only a performance hazard, and hence not worth breaking feature freeze to fix.  We can take it up in v19 instead.&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|aFzdVCWEhbUgn91k@paquier.xyz|join_search_hook broken by self-join elimination}}&lt;br /&gt;
** Yet we only know it affects pg_hint_plan, but enable_self_join_elimination GUC provides a workaround.&lt;br /&gt;
** Commit: {{PgCommitURL|fc069a3a6319}}&lt;br /&gt;
&lt;br /&gt;
== Resolved Issues ==&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18rc1 ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|flat/CAKAnmmKwiMHik5AHmBEdf5vqzbOBbcwEPHo4-PioWeAbzwcTOQ@mail.gmail.com|Enable data checksums by default}}&lt;br /&gt;
** Commit: {{PgCommitURL|04bec894a0}}&lt;br /&gt;
** Data checksums have been enabled by default. pg_upgrade cannot upgrade between non-checksum and checksum instances, so some additional steps are required by the user. Check whether the upgrade experience is tolerable and sufficiently documented. See the following list of threads that might be enhancing the end user experience:&lt;br /&gt;
*** {{messageLink|flat/E07A611B-9CF3-4FDB-8CE8-A221E39040EC%40yesql.se|Changing the state of data checksums in a running cluster}}&lt;br /&gt;
** Also, a thread complaining about the extremely visible performance regression that results:&lt;br /&gt;
*** {{messageLink|flat/CADE6Lvh62KopfpyScY-sMvLQE6Y5BBfAnt2wV-nsvZLetF+j6g@mail.gmail.com|Possible regression in PG18 beta1}}&lt;br /&gt;
** {{messageLink|flat/941f0190-e3c6-4622-9ac7-c04e936e5fdb@vondra.me|strange perf regression with data checksums}}&lt;br /&gt;
** Owner: Peter Eisentraut?&lt;br /&gt;
** result: No clear proposals to change the default. We&#039;re likely keeping checksums enabled.&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/20250617.101056.1437027795118961504.ishii@postgresql.org handle servers that don&#039;t send BackendKeyData gracefully]&lt;br /&gt;
** Owner: Heikki Linnakangas&lt;br /&gt;
** Fixed by: {{PgCommitURL|f6f0542266f}}, {{PgCommitURL|e411a8d25a}}, {{PgCommitURL|807ee417e5}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250809222338.cc.nmisch@google.com|&amp;quot;cannot take query snapshot during logical decoding&amp;quot; incompatible w/ pglogical row_filter}}&lt;br /&gt;
** Owner: Heikki Linnakangas&lt;br /&gt;
** Commit: {{PgCommitURL|1585ff7387}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|50f770c3d9}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250820104226.8ba51e43164cd590b863ce41%40sraoss.co.jp|Don&#039;t treat virtual generated columns as missing statistics in vacuumdb --missing-stats-only}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|b63952a781}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CAHGQGwHh43suEfss1wvBsk7vqiou%3DUY0zcy8HGyE5hBp%2BHZ7SQ%40mail.gmail.com|vacuumdb --missing-stats-only and permission issue}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|984d7165dd}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CA%2BhUKGJfOGBf55oLsgvv1PZSuJm1%2BR8yFbVHsP3VnEu%3DdOqayQ%40mail.gmail.com|2=VM corruption on standby}}&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** likely caused by &amp;quot;Get rid of WALBufMappingLock&amp;quot; {{PgCommitURL|bc22dc0e0ddc2dcb6043a732415019cc6b6bf683}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|c13070a27b}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20241125012400.6f.nmisch@google.com|&amp;quot;object locking for GRANT/REVOKE&amp;quot; removed a comment about a failure mode it didn&#039;t change, and it reduced test coverage}}&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Commit: {{PgCommitURL|d31bbfb}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|e36fa9319b}}, {{PgCommitURL|310d04169a}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|1fd1a421-4609-4d46-a1af-ab74d5de504a%40tantorlabs.ru|Remove self joins causes &#039;variable not found in subplan target lists&#039; error}}&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Dates to {{PgCommitURL|a3179ab692be4314d5ee5cd56598976c487d5ef2}}, so it&#039;s not actually related to remove-self-joins patch&lt;br /&gt;
** Fixed by: {{PgCommitURL|3aee6283709}}, {{PgCommitURL|b8a1bdc458e}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|flat/653f3b84-fc87-45a7-9a0c-bfb4fcab3e7d%40eisentraut.org|fixing tsearch locale support}}&lt;br /&gt;
** Commit: {{PgCommitURL|fb1a18810f0}}&lt;br /&gt;
** Text search locale support has been updated and integrated into the common locale framework.  Possible upgrade issues should probably at least be noted in the release notes.&lt;br /&gt;
** Owner: Peter Eisentraut?&lt;br /&gt;
** Fixed by: {{PgCommitURL|d1073c3b4cc}}&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18beta3 ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/08129593-6f3c-4fb9-94b7-5aa2eefb99b0%40oss.nttdata.com pg_dumpall dumps global objects with --statistics-only or --no-schema]&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Fixed by: {{PgCommitURL|973caf7291}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/7cc52488-f876-4ad3-affd-6e4b0ef0cb09%40eisentraut.org decide on new pg_dump flags and whether stats should be enabled by default]&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Fixed by: {{PgCommitURL|a3e8dc1438}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/eb224uegsga2hgq7dfq3ps5cduhpqej7ir2hjxzzozjthrekx5%40dysei6buqthe Custom pgstat support performance regression for simple queries]&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|fc415edf8ca8}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|ac000fca743e}} and {{PgCommitURL|793928c2d5ac}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|87qzyghw2x.fsf@wibble.ilmari.org|tab completion for ALTER DATABASE/ROLE/USER ... RESET}}&lt;br /&gt;
** Owner: Tomas Vondra&lt;br /&gt;
** Commit: {{PgCommitURL|9df8727c5067}} {{PgCommitURL|c407d5426b87}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|dbf5a83d4650}} and {{PgCommitURL|ca09ef3a6aa6}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250708212819.09.nmisch@google.com|non-text mode for pg_dumpall: DROP, options ignored, lexing, if-not-exists, etc.}}&lt;br /&gt;
** Owner: Andrew Dunstan&lt;br /&gt;
** Commit: {{PgCommitURL|1495eff}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|4a9ee867bff}} and {{PgCommitURL|3a954813a0f}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CAOYmi%2BnGstyp4OyL8SFCm3dtkBzNJqGwL7xYhe85%3Dj2hhaXAMw%40mail.gmail.com|Unnecessary CPU usage with OAuth on Mac and BSD}}&lt;br /&gt;
** [https://www.postgresql.org/message-id/CAOYmi%2BnDZxJHaWj9_jRSyf8uMToCADAmOfJEggsKW-kY7aUwHA%40mail.gmail.com OAuth: fix performance bug with stuck multiplexer events]&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Fixed-by: {{PgCommitURL|ff5b082}}, {{PgCommitURL|3d9c034}}, {{PgCommitURL|1749a12}}, {{PgCommitURL|3e31166}}, {{PgCommitURL|1443b6c}}, {{PgCommitURL|ebaaf38}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/19006-80fcaaf69000377e@postgresql.org Assert(BufferIsPinned) in BufferGetBlockNumber() is triggered for forwarded buffer]&lt;br /&gt;
** Commit: {{PgCommitURL|b421223172a2}}&lt;br /&gt;
&lt;br /&gt;
* Revisit libpq-oauth naming/ABI&lt;br /&gt;
** Commit: {{PgCommitURL|b0635bfda}}&lt;br /&gt;
** The libpq-oauth module relies on libpq internals, so it&#039;ll be renamed every major release to avoid ABI incompatibilities. This reduces developer load at the expense of {{messageLink|CAOYmi%2B%3Dcs%2BgDTAH0L%2B3JzpRLeHPOXDQxu7MOfsbjah9SkAP_kw%40mail.gmail.com|packager pain}}. Is that acceptable?&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Resolution: {{messageLink|CAOYmi%2Bm5L%3D-S8QuZgLcSdHyXreVDCVr2NBbCZVcdVzE8B2y5Xg%40mail.gmail.com|No objections raised.}}&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18beta2 ===&lt;br /&gt;
&lt;br /&gt;
* queryId constant squashing does not support prepared statements&lt;br /&gt;
** Owner: Alvaro Herrera&lt;br /&gt;
** Commit: {{PgCommitURL|62d712ecfd94}}&lt;br /&gt;
** {{messageLink|CAA5RZ0tRXoPG2y6bMgBCWNDt0Tn%3DunRerbzYM%3DoW0syi1%3DC1OA%40mail.gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|c2da1a5d6325a92d834c9cb036f65d362e4bfc3e}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/26983.1748418675@localhost Foreign key validation failure in 18beta1]&lt;br /&gt;
** Owner: Alvaro Herrera &lt;br /&gt;
** Commit: {{PgCommitURL|b663b9436e7509b5e73c8c372539f067cd6e66c1}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|cc733ed164c5b57fdf34d16e4cc8e9bbdc171699}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/3eb40b3e-45c7-426a-b7f8-81f7d05a9b53@oss.nttdata.com pg_get_process_memory_contexts can cause the target session to error out]&lt;br /&gt;
** Defect in commit 042a66291b04f473cbc72f95f07438abd75ae3a9&lt;br /&gt;
** Owner: Daniel Gustafsson&lt;br /&gt;
** {{messageLink|65EB9E45-BD41-4DA7-A689-7A358CF7826F@yesql.se|Patch}}&lt;br /&gt;
** Commit: {{PgCommitURL|fb844b9f06568a}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/605328.1747710381@sss.pgh.pa.us issues with generic plans and &amp;quot;initial&amp;quot; pruning]&lt;br /&gt;
** Commit: {{PgCommitURL|525392d57}}&lt;br /&gt;
** Owner: Amit Langote&lt;br /&gt;
** Fixed by: {{PgCommitURL|1722d5eb05d8e5d2e064cd1798abcae4f296ca9d}}&lt;br /&gt;
&lt;br /&gt;
* Refactoring for ChangeVarNodesExtended()&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8}}&lt;br /&gt;
** {{messageLink|CAMbWs49PE3CvnV8vrQ0Dr%3DHqgZZmX0tdNbzVNJxqc8yg-8kDQQ%40mail.gmail.com|Some problems regarding the self-join elimination code}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|ab42d643c14509cf1345588f55d798284b11a91e}}&lt;br /&gt;
&lt;br /&gt;
* Clean up injection point tests in AIO code&lt;br /&gt;
** Owner: Andres Freund (note from Michael Paquier: I&#039;m OK to handle this one).&lt;br /&gt;
** Commit: {{PgCommitURL|93bc3d75d8e1}}&lt;br /&gt;
** {{messageLink|Z_y9TtnXubvYAApS@paquier.xyz|Support for runtime parameters in injection points, for AIO tests}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|371f2db8b05e}}, {{PgCommitURL|36e5fda63260}}, {{PgCommitURL|c259ba881c10}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/18923-e79273f87c6bed69%40postgresql.org pg_dump 18beta1 fails to process complex table names]&lt;br /&gt;
** Commit: {{PgCommitURL|9c02e3a986}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|a6060f1cbe}}&lt;br /&gt;
&lt;br /&gt;
* Regression in statement locations with nested statements&lt;br /&gt;
** Commit: {{PgCommitURL|499edb09741b}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** [https://postgr.es/m/844a3b38-bbf1-4fb2-9fd6-f58c35c09917@pgbackrest.org bug report]&lt;br /&gt;
** Fixed by: {{PgCommitURL|06450c7b8c70}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/CAAeiqZ0o2p4SX5_xPcuAbbsmXjg6MJLNuPYSLUjC%3DWh-VeW64A%40mail.gmail.com incorrect reltuples after upgrade from &amp;lt;v14]&lt;br /&gt;
** Commit: {{PgCommitURL|1fd1bd8710}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|5d6eac80cd}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/CAD21AoConf6tkVCv-=JhQJj56kYsDwo4jG5+WqgT+ukSkYomSQ@mail.gmail.com assert failure during eager scanning]&lt;br /&gt;
** Commit: {{PgCommitURL|052026c9b903}}&lt;br /&gt;
** Owner: Melanie Plageman&lt;br /&gt;
** Fixed by: {{PgCommitURL|4c08ecd1618}}&lt;br /&gt;
&lt;br /&gt;
* Prevent stack overflow in OAuth parsers&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788a}}&lt;br /&gt;
** {{messageLink|CAOYmi%2Bm71aRUEi0oQE9ciBnBS8xVtMn3CifaPu2kmJzUfhOZgA%40mail.gmail.com|Patch/discussion}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|cbc8fd0c9}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/aCvzJNwetyEI3Sgo%40paquier.xyz Redefine plan ID as int64 rather than uint64]&lt;br /&gt;
** The same problem applies to the query ID, but it is an older problem. The plan ID is new in v18.&lt;br /&gt;
** Commit: {{PgCommitURL|2a0cd38da5cc}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Fixed by: {{PgCommitURL|e050af28686e}}&lt;br /&gt;
&lt;br /&gt;
* Enable statistics in pg_dump by default (Jeff Davis)?&lt;br /&gt;
** {{messageLink|1=CAKAnmmKCgnqcd3x4Z+5yXsY7urpDS6D_NZG7pr=DYD=LHt5X4g@mail.gmail.com|2=Greg Sabino Mullane}}&lt;br /&gt;
** {{messageLink|1=CA+TgmoYGuEC=E4TbomRyqO8+Uav=90G0dYXw=rA1d5UmRB76Yg@mail.gmail.com|2=Robert Haas}}&lt;br /&gt;
** decision was opt-in for pg_dump[all] and opt-out for pg_upgrade/pg_restore&lt;br /&gt;
** Fixed by: {{PgCommitURL|34eb2a80d5}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/18944-8a926c30f68387dd%40postgresql.org Assertion Failure in psql with idle_session_timeout set]&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|41625ab8ea3d}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|7f3381c7ee66}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/18920-b350b1c0a30af006@postgresql.org LOAD &#039;$libdir/plugins&#039; no longer works in 18beta1]&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Commit: {{PgCommitURL|4f7f7b037585}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|f777d77387}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250415155850.9b.nmisch@google.com|Trademark risk in new test}}&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|01463e1}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|4b05ebf095}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/18947-cdd2668beffe02bf@postgresql.org failed Assert(&amp;quot;len_to_wrt &amp;gt;= 0&amp;quot;) in pg_stat_statements]&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|499edb09741b}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|f85f6ab051b7}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/CAE7r3MJ611B9TE=YqBBncewp7-k64VWs+sjk7XF6fJUX77uFBA@mail.gmail.com Improvements in GIN amcheck]&lt;br /&gt;
** Commit: {{PgCommitURL|14ffaece0fb53fed8ddbc46d2b353e1c4834863a}}&lt;br /&gt;
** Owner: Tomas Vondra&lt;br /&gt;
** Fixed by: {{PgCommitURL|0cf205e122ae0fe9333ccf843c2269f13ddc32fc}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250706161319.c1.nmisch@google.com|Remove PQservice()}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|4b99fed75}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|fef6da9}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/CAK_s-G2Q7de8Q0qOYUR=_CTB5FzzVBm5iZjOp+meVWpMpmfO0w@mail.gmail.com virtual generated columns are unsafe if superuser selects]&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Fixed by: {{PgCommitURL|0cd69b3d7ef}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|1500090.1745443021%40sss.pgh.pa.us|Non-reproducible AIO failure}}&lt;br /&gt;
** Owner: Andres Freund&lt;br /&gt;
** Partially fixed by: {{PgCommitURL|e9a3615a522}}, remaining issue is not reproducible&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18beta1 ===&lt;br /&gt;
&lt;br /&gt;
* Fix guidance for running vacuumdb after pg_upgrade&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Commit: {{PgCommitURL|c9d502eb68}}&lt;br /&gt;
** {{messageLink|aAfxfKC82B9NvJDj%40msg.df7cb.de|pgsql: Update guidance for running vacuumdb after pg_upgrade.}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|d5f1b6a75b}}, {{PgCommitURL|9879105024}}&lt;br /&gt;
&lt;br /&gt;
* Not null not valid: pg_dump output is inconsistent on table inheritence tables&lt;br /&gt;
** Owner: Álvaro Herrera&lt;br /&gt;
** Commit: {{PgCommitURL|a379061a22a8fdf421e1a457cc6af8503def6252}}&lt;br /&gt;
** {{messageLink|CACJufxGHNNMc0E2JphUqJMzD3%3DbwRSuAEVBF5ekgkG8uY0Q3hg%40mail.gmail.com| pg_dump not null not valid is wrong}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|0e13b13d26e}}&lt;br /&gt;
&lt;br /&gt;
* Difference in statistics on original and restored database&lt;br /&gt;
** Owner: Ashutosh Bapat&lt;br /&gt;
** Commit: {{PgCommitURL|172259afb5}}&lt;br /&gt;
** {{messageLink|1=CAExHW5sFOgcUkVtZ8=QCAE+jv=sbNdBKq0xZCNJTh7019ZM+CQ@mail.gmail.com|2=Original report}}&lt;br /&gt;
** {{messageLink|1=CAExHW5uX1oH3f9WNGJf0E-0C9JFO20EryT0nMN42gfia5rkQLA@mail.gmail.com|2=Fix discussion}}&lt;br /&gt;
** Once this issue is fixed, we need to enable dumping statistics and comparing them in pg_upgrade/002_pg_upgrade.pl. The patch for the same is posted in the thread.&lt;br /&gt;
&lt;br /&gt;
* Use-after-free with stats_fetch_consistency = snapshot and pg_stat_get_backend_wal()&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|76def4cdd}}&lt;br /&gt;
** {{messageLink|f1788cc0-253a-4a3a-aee0-1b8ab9538736@gmail.com|Details of report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|3191a593d6de}}&lt;br /&gt;
&lt;br /&gt;
* Performance regression in SQL-language functions&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|0dca5d68d}}&lt;br /&gt;
** {{messageLink|1112592.1744572204@sss.pgh.pa.us|Performance issues with v18 SQL-language-function changes}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|0400ae4a6}} and four preceding patches&lt;br /&gt;
&lt;br /&gt;
* Memory mismanagement leads to infinite loop in walsender&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|1afe31f03}}&lt;br /&gt;
** {{messageLink|CAO6_XqoJA7-_G6t7Uqe5nWF3nj+QBGn4F6Ptp%3DrUGDr0zo+KvA%40mail.gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|80b727eb9}}&lt;br /&gt;
&lt;br /&gt;
* Not-null-in-pg_constraint changes cause parallel restore to deadlock&lt;br /&gt;
** Owner: Alvaro Herrera&lt;br /&gt;
** Commit: {{PgCommitURL|14e87ffa5c543b5f30ead7413084c25f7735039f}}&lt;br /&gt;
** {{messageLink|1280408.1744650810@sss.pgh.pa.us|Re: not null constraints, again}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|11ff192b5}}&lt;br /&gt;
&lt;br /&gt;
* Avoid core dump in pgstat_read_statsfile()&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|7949d9594582}}&lt;br /&gt;
** {{messageLink|aAieZAvM+K1d89R2@ip-10-97-1-34.eu-west-3.compute.internal|Avoid core dump in pgstat_read_statsfile()}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|923ae50cf559}}&lt;br /&gt;
&lt;br /&gt;
* Assertion failure in discardAbortedPipelineResults() with psql&#039;s pipeline mode&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit :{{PgCommitURL|2cce0fe440fb}}&lt;br /&gt;
** {{messageLink|ebf6ce77-b180-4d6b-8eab-71f641499ddf@postgrespro.ru|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|3631612eae9c}}&lt;br /&gt;
&lt;br /&gt;
* Use extended stats for precise estimation of bucket size in hash join&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|6bb6a62f3cc45624c601d5270673a17447734629}}&lt;br /&gt;
** {{messageLink|18885-da51324078588253@postgresql.org|ERROR: corrupt MVNDistinct entry - 2}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|9f404d7922e8831dc49bfa225530ba5309900e4e}}&lt;br /&gt;
&lt;br /&gt;
* Bugs in self-join elimination&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8}}&lt;br /&gt;
** {{messageLink|CAMbWs49PE3CvnV8vrQ0Dr%3DHqgZZmX0tdNbzVNJxqc8yg-8kDQQ%40mail.gmail.com|Some problems regarding the self-join elimination code}}&lt;br /&gt;
** {{messageLink|CAPpHfdtTxSs%2Bt8PXjJ_EC5roaQRLPyxt71M%3DAJvrGjYFC-wK5g%40mail.gmail.com|ERROR:  too late to create a new PlaceHolderInfo}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|1aa7cf9eb85972aaf2969306e84f5fc794fbef7f}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|2260c7f6d90ecf76d3806d32890a0890688b41e8}}&lt;br /&gt;
&lt;br /&gt;
* Treat oauth_client_secret as a password in UIs&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788afc17d2206e1ae1c731d8aeda1f2f59}}&lt;br /&gt;
** {{messageLink|20250415191435.55.nmisch%40google.com|dispchar for oauth_client_secret}}&lt;br /&gt;
&lt;br /&gt;
* Doc: mention ALTER TABLE ADD COLUMN no need rewrite when column is virtual generated column&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Commit: {{PgCommitURL|83ea6c54025bea67bcd4949a6d58d3fc11c3e21b}}&lt;br /&gt;
** {{messageLink|00e6eb5f5c793b8ef722252c7a519c9a@oss.nttdata.com|DOC: ALTER TABLE ADD COLUMN TABLE REWRITE}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|06c4f3ae804}}&lt;br /&gt;
&lt;br /&gt;
* Split OAuth support from libpq into libpq-oauth&lt;br /&gt;
** Owner: Daniel Gustafsson&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788afc17d2206e1ae1c731d8aeda1f2f59}}&lt;br /&gt;
** {{messageLink|wbqaa72xxfnqtsspanbteoycmtpb6oshtwbrm7uwiw3pur4ll4@tybxmaasfjkv|Federated Authn/z with OAUTHBEARER}}&lt;br /&gt;
&lt;br /&gt;
* dangling-pointer problem in SQL-language functions&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|0313c5dc6}}&lt;br /&gt;
** {{messageLink|9f975803-1a1c-4f21-b987-f572e110e860%40gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|e83a8ae4472}}&lt;br /&gt;
&lt;br /&gt;
* Memory leak in parallel GIN builds&lt;br /&gt;
** Owner: Tomas Vondra&lt;br /&gt;
** Commit: {{PgCommitURL|8492feb98f6df3f0f03e84ed56f0d1cbb2ac514c}}&lt;br /&gt;
** {{messageLink|CAFMdLD4p0VBd8JG%3DNbi%3DBKv6rzFAiGJ_sXSFrw-2tNmNZFO5Kg@mail.gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|1681a70df3d6}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250412123430.8c.nmisch@google.com|Lost symmetry between lower() and regex equivalent, for &amp;quot;I/i in Turkish&amp;quot;}}&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Commit: {{PgCommitURL|e9931bf}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|2e5353b}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250415213450.1f.nmisch@google.com|Need s/PSQL_CMD_SKIP_LINE/PSQL_CMD_ERROR/ in new pipeline command}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|41625ab}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|5ee7bd9}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250417135841.33.nmisch@google.com|initcap discrepancy between &amp;quot;pg_unicode_fast&amp;quot; and &amp;quot;unicode&amp;quot;}}&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Commit: {{PgCommitURL|d3d0983}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|90260e2}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250411203241.e9.nmisch@google.com|TypeCacheOpcCallback does not maintain RelIdToTypeIdCacheHash}}&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|b85a9d0}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|bb78e42}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250415191435.55.nmisch@google.com|dispchar for oauth_client_secret}}&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be7}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|e974f1c}}&lt;br /&gt;
&lt;br /&gt;
== Won&#039;t Fix ==&lt;br /&gt;
&lt;br /&gt;
* Rename --with-libcurl to --with-oauth-client&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788afc17d2206e1ae1c731d8aeda1f2f59}}&lt;br /&gt;
** {{messageLink|CAOYmi+n9DHS_xUatuuspdC8tjtaMzY8P11Y9y5Fz+2pjikkL9g@mail.gmail.com |Federated Authn/z with OAUTHBEARER}}&lt;br /&gt;
** This request was withdrawn, with input from Peter E and Robert.&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/aD3EA6jmcDZyPHiv%40nathan add more warnings about MD5 password deprecation]&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
&lt;br /&gt;
* decide what io_method to default to (Andres Freund)&lt;br /&gt;
** Commit: {{PgCommitURL|247ce06b883}}&lt;br /&gt;
** {{messageLink|flat/ZR0P278MB04279CB0C1D8F49DE68F168ED2AF2%40ZR0P278MB0427.CHEP278.PROD.OUTLOOK.COM|Doc update}}&lt;br /&gt;
** No change was made.&lt;br /&gt;
*** {{messageLink|e6db33f3-50de-43d3-9d9f-747c3b376e80%40vondra.me|discussion 1}}&lt;br /&gt;
*** {{messageLink|d68e2a4f8c356107e5167408ad80eaa2fac0f57d.camel@j-davis.com|discussion 2}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/1514756.1747925490@sss.pgh.pa.us virtual generated columns and planning speed]&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** No change was made for v18, and no measurable performance impact has been shown&lt;br /&gt;
&lt;br /&gt;
== Important Dates ==&lt;br /&gt;
&lt;br /&gt;
Current schedule:&lt;br /&gt;
&lt;br /&gt;
* GA: September 25, 2025&lt;br /&gt;
* RC 1: September 4, 2025&lt;br /&gt;
* Beta 3: August 14, 2025&lt;br /&gt;
* Beta 2: July 17, 2025&lt;br /&gt;
* Beta 1: May 8, 2025&lt;br /&gt;
* Feature Freeze: April 8, 2025 0:00 AoE&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release Management Team]]&lt;br /&gt;
* [[PostgreSQL 17 Open Items]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Open_Items]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42124</id>
		<title>FOSDEM/PGDay 2026 Developer Meeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2026_Developer_Meeting&amp;diff=42124"/>
		<updated>2025-11-01T15:46:27Z</updated>

		<summary type="html">&lt;p&gt;Petere: Created page with &amp;quot;https://2026.fosdempgday.org/devmeeting/  currently being planned&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://2026.fosdempgday.org/devmeeting/&lt;br /&gt;
&lt;br /&gt;
currently being planned&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=Multithreading&amp;diff=41978</id>
		<title>Multithreading</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=Multithreading&amp;diff=41978"/>
		<updated>2025-10-15T17:46:26Z</updated>

		<summary type="html">&lt;p&gt;Petere: Remove obsolete info about work claimed at 2024.pgconf.dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Resources ==&lt;br /&gt;
&lt;br /&gt;
pgsql-hackers thread: https://www.postgresql.org/message-id/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi&lt;br /&gt;
&lt;br /&gt;
PGConf.eu Presentation: https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4845-multi-threaded-postgresql/&lt;br /&gt;
&lt;br /&gt;
Work-in-progress git branch: https://github.com/hlinnaka/postgres/tree/threading&lt;br /&gt;
&lt;br /&gt;
Current related patches: https://commitfest.postgresql.org/current/?tag=34&lt;br /&gt;
&lt;br /&gt;
== Ongoing work ==&lt;br /&gt;
&lt;br /&gt;
These patches are contributing to the effort:&lt;br /&gt;
&lt;br /&gt;
* SendProcSignal() → SendInterrupt(), using latches: https://commitfest.postgresql.org/49/5118/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* replace strtok(): https://commitfest.postgresql.org/48/5071/&lt;br /&gt;
* thread-safety: gmtime_r(), localtime_r() https://commitfest.postgresql.org/48/5084/&lt;br /&gt;
* Refactoring postmaster&#039;s code to cleanup after child exit: https://www.postgresql.org/message-id/8f2118b9-79e3-4af7-b2c9-bd5818193ca4%40iki.fi&lt;br /&gt;
* Remove dependency on setlocale() for collation. https://commitfest.postgresql.org/48/5023/&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Global variables ===&lt;br /&gt;
&lt;br /&gt;
Global variables in PostgreSQL fall into a few different categories:&lt;br /&gt;
&lt;br /&gt;
* per-session state&lt;br /&gt;
* pointers to shared memory areas&lt;br /&gt;
* other variables that are initialized at postmaster startup and never change after that&lt;br /&gt;
* constants&lt;br /&gt;
&lt;br /&gt;
Many global variables are used to hold GUCs, and they can fall into any of those categories depending on whether they&#039;re PGC_POSTMASTER or PGC_USERSET.&lt;br /&gt;
&lt;br /&gt;
The plan:&lt;br /&gt;
&lt;br /&gt;
* Add annotations to all global variables, to mark which category they fall into. Variables holding per-session state are turned into thread-local variables. The distinction between the other categories is just for documentation purposes.&lt;br /&gt;
* Provide a tool that can list all global variables that are missing the annotations (pgguclifetimes). Add that as a compile-time check ideally. This will also be useful for extension authors to find missing annotations in extensions.&lt;br /&gt;
** alternative idea: could we use a simple perl script for this, like we do for the PGDLLIMPORT case?&lt;br /&gt;
* Potential standalone value:&lt;br /&gt;
** &amp;quot;modified once&amp;quot; annotated variables could be put in a separate binary section which would improve performance&lt;br /&gt;
** Could help with the engineering overhead of figuring out where to initialize at postmaster startup&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
Extensions will make the transition at their own pace&lt;br /&gt;
&lt;br /&gt;
* Add field to control file or the PG_MODULE magic to mark whether an extension supports multi-process mode only, or multi-threaded model only, or both&lt;br /&gt;
** other considerations: good documentation will be key, also need to work with the extension community to build understanding and consensus&lt;br /&gt;
&lt;br /&gt;
* Python has traditionally been single-threaded, but see https://peps.python.org/pep-0554/&lt;br /&gt;
** Python &amp;gt;= 3.12 can spawn non-shared interpreters&lt;br /&gt;
&lt;br /&gt;
* What about Perl, other PLs?&lt;br /&gt;
** [https://perl.apache.org/docs/2.0/user/intro/overview.html#Threads_Support How threaded mod_perl2 works]&lt;br /&gt;
&lt;br /&gt;
* http://postgr.es/m/CA+TgmoYsKJnVjj94HJTSOeS1=TmAgV5L=DVTd_TYL=XUKCbfEA@mail.gmail.com&lt;br /&gt;
&lt;br /&gt;
=== PIDs in user-facing interfaces ===&lt;br /&gt;
&lt;br /&gt;
A few places expose PIDs to users:&lt;br /&gt;
&lt;br /&gt;
* pg_terminate_backend(&amp;lt;pid&amp;gt;)&lt;br /&gt;
* pg_stat_activity&lt;br /&gt;
* query cancellation&lt;br /&gt;
&lt;br /&gt;
Plan:&lt;br /&gt;
&lt;br /&gt;
* Replace PID with a thread id.&lt;br /&gt;
* Could use OS thread ID, but behavior isn&#039;t totally consistent across platforms&lt;br /&gt;
* Consensus at 2024.pgconf.dev seemed to be that inventing our own 32-bit thread ID would be better&lt;br /&gt;
* Possibly pgprocno + counter&lt;br /&gt;
* Need to make sure we don&#039;t reuse thread IDs too quickly, else we might terminate the wrong backend.&lt;br /&gt;
* Potential standalone value: decoupling the relationship between thread and session could enable other features&lt;br /&gt;
&lt;br /&gt;
=== Unix Signals ===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.postgresql.org/wiki/Signals Separate page with more details on this topic.]&lt;br /&gt;
&lt;br /&gt;
We use Unix signals between processes currently. It&#039;s hard to use them for inter-thread communication within the same process. When you send a signal, you send it to a process, and any thread in the process can handle it.&lt;br /&gt;
&lt;br /&gt;
* Refactor inter-process signals with something like Procsignal and latches&lt;br /&gt;
&lt;br /&gt;
* With a single-process, you cannot easily &amp;quot;kill &amp;lt;pid&amp;gt;&amp;quot; to send SIGTERM or SIGUSR1 to a single backend anymore. We can provide a &amp;quot;pg_ctl signal&amp;quot; command to replace that.&lt;br /&gt;
&lt;br /&gt;
* Description/Tasks/Components:&lt;br /&gt;
** timers (which use sigalarm)&lt;br /&gt;
** deadlock detection? (already done with waitlatch so nothing happening in signal handlers so nothing to do here?)&lt;br /&gt;
** Sub-sub projects&lt;br /&gt;
*** multiplex waiting on a latch and don&#039;t rely on signals (latchification project -- replacing setlatch with interrupt driven concept)&lt;br /&gt;
*** Abstraction for the C11 thread functions that is portable (think about C11 features and C99 compiler)&lt;br /&gt;
&lt;br /&gt;
=== Replace non-thread safe library functions with thread-safe variants ===&lt;br /&gt;
&lt;br /&gt;
* strerror() -&amp;gt; strerror_r()&lt;br /&gt;
&lt;br /&gt;
* setlocale() -&amp;gt; uselocale()&lt;br /&gt;
** no uselocale on windows, workarounds are complex&lt;br /&gt;
** https://www.postgresql.org/message-id/CWMW5OZBWJ10.1YFLQWSUE5RE9@neon.tech&lt;br /&gt;
** https://www.postgresql.org/message-id/17946-3e84cb577e9551c3@postgresql.org&lt;br /&gt;
** http://postgr.es/m/2228884bb1f1a02614b39f71a90c94d2cc8a3a2f.camel@j-davis.com&lt;br /&gt;
&lt;br /&gt;
* getopt_long()&lt;br /&gt;
** getopt_long implementation used for windows could be used for other platforms&lt;br /&gt;
** rearchitect postmaster startup to change options passing&lt;br /&gt;
&lt;br /&gt;
* Make pg_strtok() re-entrant&lt;br /&gt;
&lt;br /&gt;
* not all string functions with _l have been implemented in glibc&lt;br /&gt;
&lt;br /&gt;
* https://www.postgresql.org/message-id/856e5ec3-879f-42ee-8258-8bcc6ec9bdea@eisentraut.org&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
* Add a GUC to enable multi-threaded mode&lt;br /&gt;
* Replace fork() with pthread_create(). Yay!&lt;br /&gt;
&lt;br /&gt;
* Make virtual filedescriptors (fd.c) work with threads&lt;br /&gt;
** increase the limit for max number of file descriptors&lt;br /&gt;
** diagnose and fix the performance fallout (due to sharing VFD cache and maybe because some OSes don&#039;t cope well with large numbers of file descriptors)&lt;br /&gt;
** split fd.c into two files: one for virtual file descriptor abstraction and another for &amp;quot;other&amp;quot; file-related functions (see also src/common/file_utils.c)&lt;br /&gt;
&lt;br /&gt;
* Refactoring guc_tables.c&lt;br /&gt;
** currently uses memory address of global GUC variable (and that won&#039;t work anymore with threads)&lt;br /&gt;
&lt;br /&gt;
* Refactor connection acceptance&lt;br /&gt;
** Currently the postmaster accepts connections and then spawns a process&lt;br /&gt;
** In the threaded model we&#039;ll want 2 processes, a supervisor that only restarts the other process, and the main process with all the threads&lt;br /&gt;
** But that means connection acceptance needs to be split out from supervisor tasks&lt;br /&gt;
&lt;br /&gt;
* verify_cb in be-secure-openssl.c uses a (static) global cert_errdetail variable to pass information. Refactor to use x509_store_ctx_get_ex_data&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* If an extension launches threads today, it might call SPI or other PostgreSQL functions from a different thread. That works today, if you&#039;re careful and only do that from one thread at at time. After replacing global variables with thread-local variables, that no longer works. Or did it work? We have things like longjmp() and stack depth checks that would already break that?&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=Multithreading&amp;diff=41977</id>
		<title>Multithreading</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=Multithreading&amp;diff=41977"/>
		<updated>2025-10-15T17:43:33Z</updated>

		<summary type="html">&lt;p&gt;Petere: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Resources ==&lt;br /&gt;
&lt;br /&gt;
pgsql-hackers thread: https://www.postgresql.org/message-id/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi&lt;br /&gt;
&lt;br /&gt;
PGConf.eu Presentation: https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4845-multi-threaded-postgresql/&lt;br /&gt;
&lt;br /&gt;
Work-in-progress git branch: https://github.com/hlinnaka/postgres/tree/threading&lt;br /&gt;
&lt;br /&gt;
Current related patches: https://commitfest.postgresql.org/current/?tag=34&lt;br /&gt;
&lt;br /&gt;
== Ongoing work ==&lt;br /&gt;
&lt;br /&gt;
These patches are contributing to the effort:&lt;br /&gt;
&lt;br /&gt;
* SendProcSignal() → SendInterrupt(), using latches: https://commitfest.postgresql.org/49/5118/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* replace strtok(): https://commitfest.postgresql.org/48/5071/&lt;br /&gt;
* thread-safety: gmtime_r(), localtime_r() https://commitfest.postgresql.org/48/5084/&lt;br /&gt;
* Refactoring postmaster&#039;s code to cleanup after child exit: https://www.postgresql.org/message-id/8f2118b9-79e3-4af7-b2c9-bd5818193ca4%40iki.fi&lt;br /&gt;
* Remove dependency on setlocale() for collation. https://commitfest.postgresql.org/48/5023/&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Global variables ===&lt;br /&gt;
&lt;br /&gt;
Global variables in PostgreSQL fall into a few different categories:&lt;br /&gt;
&lt;br /&gt;
* per-session state&lt;br /&gt;
* pointers to shared memory areas&lt;br /&gt;
* other variables that are initialized at postmaster startup and never change after that&lt;br /&gt;
* constants&lt;br /&gt;
&lt;br /&gt;
Many global variables are used to hold GUCs, and they can fall into any of those categories depending on whether they&#039;re PGC_POSTMASTER or PGC_USERSET.&lt;br /&gt;
&lt;br /&gt;
The plan:&lt;br /&gt;
&lt;br /&gt;
* Add annotations to all global variables, to mark which category they fall into. Variables holding per-session state are turned into thread-local variables. The distinction between the other categories is just for documentation purposes.&lt;br /&gt;
* Provide a tool that can list all global variables that are missing the annotations (pgguclifetimes). Add that as a compile-time check ideally. This will also be useful for extension authors to find missing annotations in extensions.&lt;br /&gt;
** alternative idea: could we use a simple perl script for this, like we do for the PGDLLIMPORT case?&lt;br /&gt;
* Potential standalone value:&lt;br /&gt;
** &amp;quot;modified once&amp;quot; annotated variables could be put in a separate binary section which would improve performance&lt;br /&gt;
** Could help with the engineering overhead of figuring out where to initialize at postmaster startup&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
Extensions will make the transition at their own pace&lt;br /&gt;
&lt;br /&gt;
* Add field to control file or the PG_MODULE magic to mark whether an extension supports multi-process mode only, or multi-threaded model only, or both&lt;br /&gt;
** other considerations: good documentation will be key, also need to work with the extension community to build understanding and consensus&lt;br /&gt;
&lt;br /&gt;
* Python has traditionally been single-threaded, but see https://peps.python.org/pep-0554/&lt;br /&gt;
** Python &amp;gt;= 3.12 can spawn non-shared interpreters&lt;br /&gt;
&lt;br /&gt;
* What about Perl, other PLs?&lt;br /&gt;
** [https://perl.apache.org/docs/2.0/user/intro/overview.html#Threads_Support How threaded mod_perl2 works]&lt;br /&gt;
&lt;br /&gt;
* http://postgr.es/m/CA+TgmoYsKJnVjj94HJTSOeS1=TmAgV5L=DVTd_TYL=XUKCbfEA@mail.gmail.com&lt;br /&gt;
&lt;br /&gt;
* Robert volunteered to look into this at 2024.pgconf.dev&lt;br /&gt;
&lt;br /&gt;
=== PIDs in user-facing interfaces ===&lt;br /&gt;
&lt;br /&gt;
A few places expose PIDs to users:&lt;br /&gt;
&lt;br /&gt;
* pg_terminate_backend(&amp;lt;pid&amp;gt;)&lt;br /&gt;
* pg_stat_activity&lt;br /&gt;
* query cancellation&lt;br /&gt;
&lt;br /&gt;
Plan:&lt;br /&gt;
&lt;br /&gt;
* Replace PID with a thread id.&lt;br /&gt;
* Could use OS thread ID, but behavior isn&#039;t totally consistent across platforms&lt;br /&gt;
* Consensus at 2024.pgconf.dev seemed to be that inventing our own 32-bit thread ID would be better&lt;br /&gt;
* Possibly pgprocno + counter&lt;br /&gt;
* Need to make sure we don&#039;t reuse thread IDs too quickly, else we might terminate the wrong backend.&lt;br /&gt;
* Potential standalone value: decoupling the relationship between thread and session could enable other features&lt;br /&gt;
&lt;br /&gt;
* Robert volunteered to look into this at 2024.pgconf.dev&lt;br /&gt;
&lt;br /&gt;
=== Unix Signals ===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.postgresql.org/wiki/Signals Separate page with more details on this topic.]&lt;br /&gt;
&lt;br /&gt;
We use Unix signals between processes currently. It&#039;s hard to use them for inter-thread communication within the same process. When you send a signal, you send it to a process, and any thread in the process can handle it.&lt;br /&gt;
&lt;br /&gt;
* Refactor inter-process signals with something like Procsignal and latches&lt;br /&gt;
&lt;br /&gt;
* With a single-process, you cannot easily &amp;quot;kill &amp;lt;pid&amp;gt;&amp;quot; to send SIGTERM or SIGUSR1 to a single backend anymore. We can provide a &amp;quot;pg_ctl signal&amp;quot; command to replace that.&lt;br /&gt;
&lt;br /&gt;
* Description/Tasks/Components:&lt;br /&gt;
** timers (which use sigalarm)&lt;br /&gt;
** deadlock detection? (already done with waitlatch so nothing happening in signal handlers so nothing to do here?)&lt;br /&gt;
** Sub-sub projects&lt;br /&gt;
*** multiplex waiting on a latch and don&#039;t rely on signals (latchification project -- replacing setlatch with interrupt driven concept)&lt;br /&gt;
*** Abstraction for the C11 thread functions that is portable (think about C11 features and C99 compiler)&lt;br /&gt;
&lt;br /&gt;
* Thomas and Heikki volunteered to look into this at 2024.pgconf.dev&lt;br /&gt;
&lt;br /&gt;
=== Replace non-thread safe library functions with thread-safe variants ===&lt;br /&gt;
&lt;br /&gt;
* strerror() -&amp;gt; strerror_r()&lt;br /&gt;
&lt;br /&gt;
* setlocale() -&amp;gt; uselocale()&lt;br /&gt;
** no uselocale on windows, workarounds are complex&lt;br /&gt;
** https://www.postgresql.org/message-id/CWMW5OZBWJ10.1YFLQWSUE5RE9@neon.tech&lt;br /&gt;
** https://www.postgresql.org/message-id/17946-3e84cb577e9551c3@postgresql.org&lt;br /&gt;
** http://postgr.es/m/2228884bb1f1a02614b39f71a90c94d2cc8a3a2f.camel@j-davis.com&lt;br /&gt;
&lt;br /&gt;
* getopt_long()&lt;br /&gt;
** getopt_long implementation used for windows could be used for other platforms&lt;br /&gt;
** rearchitect postmaster startup to change options passing&lt;br /&gt;
&lt;br /&gt;
* Make pg_strtok() re-entrant&lt;br /&gt;
&lt;br /&gt;
* not all string functions with _l have been implemented in glibc&lt;br /&gt;
&lt;br /&gt;
* https://www.postgresql.org/message-id/856e5ec3-879f-42ee-8258-8bcc6ec9bdea@eisentraut.org&lt;br /&gt;
&lt;br /&gt;
* Peter and Nathan volunteered to look into this at 2024.pgconf.dev&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
* Add a GUC to enable multi-threaded mode&lt;br /&gt;
* Replace fork() with pthread_create(). Yay!&lt;br /&gt;
&lt;br /&gt;
* Make virtual filedescriptors (fd.c) work with threads&lt;br /&gt;
** Heikki volunteered to look into this at 2024.pgconf.dev (with Andres identifying performance fallout)&lt;br /&gt;
** increase the limit for max number of file descriptors&lt;br /&gt;
** diagnose and fix the performance fallout (due to sharing VFD cache and maybe because some OSes don&#039;t cope well with large numbers of file descriptors)&lt;br /&gt;
** split fd.c into two files: one for virtual file descriptor abstraction and another for &amp;quot;other&amp;quot; file-related functions (see also src/common/file_utils.c)&lt;br /&gt;
&lt;br /&gt;
* Make bootparse.y and other bison/flex generated code re-entrant&lt;br /&gt;
** main parser is already done, but others need work, which is thought to be simple&lt;br /&gt;
** Peter volunteered to look into this at 2024.pgconf.dev&lt;br /&gt;
&lt;br /&gt;
* Refactoring guc_tables.c&lt;br /&gt;
** currently uses memory address of global GUC variable (and that won&#039;t work anymore with threads)&lt;br /&gt;
&lt;br /&gt;
* Refactor connection acceptance&lt;br /&gt;
** Currently the postmaster accepts connections and then spawns a process&lt;br /&gt;
** In the threaded model we&#039;ll want 2 processes, a supervisor that only restarts the other process, and the main process with all the threads&lt;br /&gt;
** But that means connection acceptance needs to be split out from supervisor tasks&lt;br /&gt;
&lt;br /&gt;
* verify_cb in be-secure-openssl.c uses a (static) global cert_errdetail variable to pass information. Refactor to use x509_store_ctx_get_ex_data&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* If an extension launches threads today, it might call SPI or other PostgreSQL functions from a different thread. That works today, if you&#039;re careful and only do that from one thread at at time. After replacing global variables with thread-local variables, that no longer works. Or did it work? We have things like longjmp() and stack depth checks that would already break that?&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
	<entry>
		<id>https://wiki.postgresql.org/index.php?title=PostgreSQL_18_Open_Items&amp;diff=41660</id>
		<title>PostgreSQL 18 Open Items</title>
		<link rel="alternate" type="text/html" href="https://wiki.postgresql.org/index.php?title=PostgreSQL_18_Open_Items&amp;diff=41660"/>
		<updated>2025-08-29T08:37:15Z</updated>

		<summary type="html">&lt;p&gt;Petere: fixed: document tsearch upgrade&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Open Issues ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: Please place new open items at the end of the list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: If known, please list the Owner of the open item.&lt;br /&gt;
&lt;br /&gt;
== Decisions to Recheck Mid-Beta ==&lt;br /&gt;
&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
== Older bugs affecting stable branches ==&lt;br /&gt;
&lt;br /&gt;
=== Live issues ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|1=CAH2-Wz%3DPqOziyRSrnN5jAtfXWXY7-BJcHz9S355LH8Dt%3D5qxWQ@mail.gmail.com|2=Incorrect results for (SP-)GIST index-only scans}}&lt;br /&gt;
** GIST and SP-GIST indexes hold tuples in memory after releasing the pin on the page, but before returning them to the executor. This allows VACUUM to concurrently clean up any dead tuples from the page&#039;s results, and mark the heap pages that held the dead tuples as ALL_VISIBLE, breaking index-only scans.&lt;br /&gt;
** Comprehensive fix: {{messageLink|1=CAEze2WgnHJF66BtviDFNCPy26gLrb%2Btfns-Bi62DBfReH0-UCg%40mail.gmail.com|2=Why doesn&#039;t GiST VACUUM require a super-exclusive lock, like nbtree VACUUM?}}&lt;br /&gt;
** Suggested fix for backpatching, 17-: {{messageLink|1=CAEze2WgH13m=MDST58KLo-NkZpbwBEt4xNWcgtghWBwRj3J0+A%40mail.gmail.com|2=&amp;lt;nowiki&amp;gt;[SP-]GiST IOS visibility bug&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxGKWZ3WWC7m_F4v-1X7NP2%3D-eU8hjo37P8RfEcdcVzUTg%40mail.gmail.com|2=generation expression node collation inaccurate}}&lt;br /&gt;
** generation expression node collation does not match the corresponding data type&#039;s collation&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxF%3DWDGthXSAQr9thYUsfx_1_t9E6N8tE3B8EqXcVoVfQw%40mail.gmail.com|2=generated column being included in partition key expression}}&lt;br /&gt;
** generated column can not be included in partition key expression, some corner case it will be included&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxG5wLiATocRTaC%3Dz%2Bkw4mUaasC-50%2Bq9K%3DfOdAr3%3DOGRw%40mail.gmail.com|2=unsafe change individual column when partition key have wholerow reference}}&lt;br /&gt;
** we should disallow alter individual column if partition key contains wholerow reference&lt;br /&gt;
&lt;br /&gt;
=== Fixed issues ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|873c33c5-ef9e-41f6-80b2-2f5e11869f1c%40garret.ru|Incorrect results for bitmap heap scan.}}&lt;br /&gt;
** Certain Bitmap Heap scans only test the visibility map before returning tuples. This can conflict with VACUUM removing tuples, thus causing more tuples to be returned from the scan than what are actually visible.&lt;br /&gt;
** Commit: {{PgCommitURL|459e7bf8e2}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxG59tip2%2B9h%3DrEv-ykOFjt0cbsPVchhi0RTij8bABBA0Q%40mail.gmail.com|bug in stored generated column over domain with constraints.}}&lt;br /&gt;
** Commit: {{PgCommitURL|7c872849407}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|aBEV3AQwhAMm0v2k%40nathan|2=unsafe access of some catalogs&#039; TOAST tables}}&lt;br /&gt;
** We should consider removing pg_replication_origin&#039;s TOAST table in v18 to fix a few places that don&#039;t set up a snapshot before potentially accessing TOASTed data.&lt;br /&gt;
** Commit: {{PgCommitURL|16bf24e0e4}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/20250626.155608.568829483879866256.ishii@postgresql.org document StartupMessage correctly for protocol 3.2]&lt;br /&gt;
** Commit: {{PgCommitURL|4cff01c4a3}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxFSC0mcQ82bSk58sO-WJY4P-o4N6RD2M0D%3DDD_u_6EzdQ%40mail.gmail.com|2=create domain can create two not-null constraints}}&lt;br /&gt;
** create domain should only create one not-null constraint. This issue exists in PG17 and PG18&lt;br /&gt;
** Commit: {{PgCommitURL|647cffd2f3}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CACJufxF-0bqVR%3Dj4jonS6N2Ka6hHUpFyu3_3TWKNhOW_4yFSSg%40mail.gmail.com|2=pg_dump does dump domain notnull constraint comments}}&lt;br /&gt;
** pg_dump need dump these domain not null comments. This issue only exist in PG17 and PG18&lt;br /&gt;
** Commit: {{PgCommitURL|da71717f0a}}&lt;br /&gt;
&lt;br /&gt;
== Non-bugs ==&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|2045026.1743801143@sss.pgh.pa.us|Fundamental scheduling bug in parallel restore of partitioned tables}}&lt;br /&gt;
** Current belief is that this is only a performance hazard, and hence not worth breaking feature freeze to fix.  We can take it up in v19 instead.&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|aFzdVCWEhbUgn91k@paquier.xyz|join_search_hook broken by self-join elimination}}&lt;br /&gt;
** Yet we only know it affects pg_hint_plan, but enable_self_join_elimination GUC provides a workaround.&lt;br /&gt;
** Commit: {{PgCommitURL|fc069a3a6319}}&lt;br /&gt;
&lt;br /&gt;
== Resolved Issues ==&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18rc1 ===&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|flat/CAKAnmmKwiMHik5AHmBEdf5vqzbOBbcwEPHo4-PioWeAbzwcTOQ@mail.gmail.com|Enable data checksums by default}}&lt;br /&gt;
** Commit: {{PgCommitURL|04bec894a0}}&lt;br /&gt;
** Data checksums have been enabled by default. pg_upgrade cannot upgrade between non-checksum and checksum instances, so some additional steps are required by the user. Check whether the upgrade experience is tolerable and sufficiently documented. See the following list of threads that might be enhancing the end user experience:&lt;br /&gt;
*** {{messageLink|flat/E07A611B-9CF3-4FDB-8CE8-A221E39040EC%40yesql.se|Changing the state of data checksums in a running cluster}}&lt;br /&gt;
** Also, a thread complaining about the extremely visible performance regression that results:&lt;br /&gt;
*** {{messageLink|flat/CADE6Lvh62KopfpyScY-sMvLQE6Y5BBfAnt2wV-nsvZLetF+j6g@mail.gmail.com|Possible regression in PG18 beta1}}&lt;br /&gt;
** {{messageLink|flat/941f0190-e3c6-4622-9ac7-c04e936e5fdb@vondra.me|strange perf regression with data checksums}}&lt;br /&gt;
** Owner: Peter Eisentraut?&lt;br /&gt;
** result: No clear proposals to change the default. We&#039;re likely keeping checksums enabled.&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/20250617.101056.1437027795118961504.ishii@postgresql.org handle servers that don&#039;t send BackendKeyData gracefully]&lt;br /&gt;
** Owner: Heikki Linnakangas&lt;br /&gt;
** Fixed by: {{PgCommitURL|f6f0542266f}}, {{PgCommitURL|e411a8d25a}}, {{PgCommitURL|807ee417e5}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250809222338.cc.nmisch@google.com|&amp;quot;cannot take query snapshot during logical decoding&amp;quot; incompatible w/ pglogical row_filter}}&lt;br /&gt;
** Owner: Heikki Linnakangas&lt;br /&gt;
** Commit: {{PgCommitURL|1585ff7387}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|50f770c3d9}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250820104226.8ba51e43164cd590b863ce41%40sraoss.co.jp|Don&#039;t treat virtual generated columns as missing statistics in vacuumdb --missing-stats-only}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|b63952a781}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CAHGQGwHh43suEfss1wvBsk7vqiou%3DUY0zcy8HGyE5hBp%2BHZ7SQ%40mail.gmail.com|vacuumdb --missing-stats-only and permission issue}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|984d7165dd}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CA%2BhUKGJfOGBf55oLsgvv1PZSuJm1%2BR8yFbVHsP3VnEu%3DdOqayQ%40mail.gmail.com|2=VM corruption on standby}}&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** likely caused by &amp;quot;Get rid of WALBufMappingLock&amp;quot; {{PgCommitURL|bc22dc0e0ddc2dcb6043a732415019cc6b6bf683}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|c13070a27b}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20241125012400.6f.nmisch@google.com|&amp;quot;object locking for GRANT/REVOKE&amp;quot; removed a comment about a failure mode it didn&#039;t change, and it reduced test coverage}}&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Commit: {{PgCommitURL|d31bbfb}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|e36fa9319b}}, {{PgCommitURL|310d04169a}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|1fd1a421-4609-4d46-a1af-ab74d5de504a%40tantorlabs.ru|Remove self joins causes &#039;variable not found in subplan target lists&#039; error}}&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Dates to {{PgCommitURL|a3179ab692be4314d5ee5cd56598976c487d5ef2}}, so it&#039;s not actually related to remove-self-joins patch&lt;br /&gt;
** Fixed by: {{PgCommitURL|3aee6283709}}, {{PgCommitURL|b8a1bdc458e}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|flat/653f3b84-fc87-45a7-9a0c-bfb4fcab3e7d%40eisentraut.org|fixing tsearch locale support}}&lt;br /&gt;
** Commit: {{PgCommitURL|fb1a18810f0}}&lt;br /&gt;
** Text search locale support has been updated and integrated into the common locale framework.  Possible upgrade issues should probably at least be noted in the release notes.&lt;br /&gt;
** Owner: Peter Eisentraut?&lt;br /&gt;
** Fixed by: {{PgCommitURL|d1073c3b4cc}}&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18beta3 ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/08129593-6f3c-4fb9-94b7-5aa2eefb99b0%40oss.nttdata.com pg_dumpall dumps global objects with --statistics-only or --no-schema]&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Fixed by: {{PgCommitURL|973caf7291}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/7cc52488-f876-4ad3-affd-6e4b0ef0cb09%40eisentraut.org decide on new pg_dump flags and whether stats should be enabled by default]&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Fixed by: {{PgCommitURL|a3e8dc1438}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/eb224uegsga2hgq7dfq3ps5cduhpqej7ir2hjxzzozjthrekx5%40dysei6buqthe Custom pgstat support performance regression for simple queries]&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|fc415edf8ca8}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|ac000fca743e}} and {{PgCommitURL|793928c2d5ac}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|87qzyghw2x.fsf@wibble.ilmari.org|tab completion for ALTER DATABASE/ROLE/USER ... RESET}}&lt;br /&gt;
** Owner: Tomas Vondra&lt;br /&gt;
** Commit: {{PgCommitURL|9df8727c5067}} {{PgCommitURL|c407d5426b87}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|dbf5a83d4650}} and {{PgCommitURL|ca09ef3a6aa6}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250708212819.09.nmisch@google.com|non-text mode for pg_dumpall: DROP, options ignored, lexing, if-not-exists, etc.}}&lt;br /&gt;
** Owner: Andrew Dunstan&lt;br /&gt;
** Commit: {{PgCommitURL|1495eff}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|4a9ee867bff}} and {{PgCommitURL|3a954813a0f}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|CAOYmi%2BnGstyp4OyL8SFCm3dtkBzNJqGwL7xYhe85%3Dj2hhaXAMw%40mail.gmail.com|Unnecessary CPU usage with OAuth on Mac and BSD}}&lt;br /&gt;
** [https://www.postgresql.org/message-id/CAOYmi%2BnDZxJHaWj9_jRSyf8uMToCADAmOfJEggsKW-kY7aUwHA%40mail.gmail.com OAuth: fix performance bug with stuck multiplexer events]&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Fixed-by: {{PgCommitURL|ff5b082}}, {{PgCommitURL|3d9c034}}, {{PgCommitURL|1749a12}}, {{PgCommitURL|3e31166}}, {{PgCommitURL|1443b6c}}, {{PgCommitURL|ebaaf38}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/19006-80fcaaf69000377e@postgresql.org Assert(BufferIsPinned) in BufferGetBlockNumber() is triggered for forwarded buffer]&lt;br /&gt;
** Commit: {{PgCommitURL|b421223172a2}}&lt;br /&gt;
&lt;br /&gt;
* Revisit libpq-oauth naming/ABI&lt;br /&gt;
** Commit: {{PgCommitURL|b0635bfda}}&lt;br /&gt;
** The libpq-oauth module relies on libpq internals, so it&#039;ll be renamed every major release to avoid ABI incompatibilities. This reduces developer load at the expense of {{messageLink|CAOYmi%2B%3Dcs%2BgDTAH0L%2B3JzpRLeHPOXDQxu7MOfsbjah9SkAP_kw%40mail.gmail.com|packager pain}}. Is that acceptable?&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Resolution: {{messageLink|CAOYmi%2Bm5L%3D-S8QuZgLcSdHyXreVDCVr2NBbCZVcdVzE8B2y5Xg%40mail.gmail.com|No objections raised.}}&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18beta2 ===&lt;br /&gt;
&lt;br /&gt;
* queryId constant squashing does not support prepared statements&lt;br /&gt;
** Owner: Alvaro Herrera&lt;br /&gt;
** Commit: {{PgCommitURL|62d712ecfd94}}&lt;br /&gt;
** {{messageLink|CAA5RZ0tRXoPG2y6bMgBCWNDt0Tn%3DunRerbzYM%3DoW0syi1%3DC1OA%40mail.gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|c2da1a5d6325a92d834c9cb036f65d362e4bfc3e}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/26983.1748418675@localhost Foreign key validation failure in 18beta1]&lt;br /&gt;
** Owner: Alvaro Herrera &lt;br /&gt;
** Commit: {{PgCommitURL|b663b9436e7509b5e73c8c372539f067cd6e66c1}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|cc733ed164c5b57fdf34d16e4cc8e9bbdc171699}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/3eb40b3e-45c7-426a-b7f8-81f7d05a9b53@oss.nttdata.com pg_get_process_memory_contexts can cause the target session to error out]&lt;br /&gt;
** Defect in commit 042a66291b04f473cbc72f95f07438abd75ae3a9&lt;br /&gt;
** Owner: Daniel Gustafsson&lt;br /&gt;
** {{messageLink|65EB9E45-BD41-4DA7-A689-7A358CF7826F@yesql.se|Patch}}&lt;br /&gt;
** Commit: {{PgCommitURL|fb844b9f06568a}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/605328.1747710381@sss.pgh.pa.us issues with generic plans and &amp;quot;initial&amp;quot; pruning]&lt;br /&gt;
** Commit: {{PgCommitURL|525392d57}}&lt;br /&gt;
** Owner: Amit Langote&lt;br /&gt;
** Fixed by: {{PgCommitURL|1722d5eb05d8e5d2e064cd1798abcae4f296ca9d}}&lt;br /&gt;
&lt;br /&gt;
* Refactoring for ChangeVarNodesExtended()&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8}}&lt;br /&gt;
** {{messageLink|CAMbWs49PE3CvnV8vrQ0Dr%3DHqgZZmX0tdNbzVNJxqc8yg-8kDQQ%40mail.gmail.com|Some problems regarding the self-join elimination code}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|ab42d643c14509cf1345588f55d798284b11a91e}}&lt;br /&gt;
&lt;br /&gt;
* Clean up injection point tests in AIO code&lt;br /&gt;
** Owner: Andres Freund (note from Michael Paquier: I&#039;m OK to handle this one).&lt;br /&gt;
** Commit: {{PgCommitURL|93bc3d75d8e1}}&lt;br /&gt;
** {{messageLink|Z_y9TtnXubvYAApS@paquier.xyz|Support for runtime parameters in injection points, for AIO tests}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|371f2db8b05e}}, {{PgCommitURL|36e5fda63260}}, {{PgCommitURL|c259ba881c10}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/18923-e79273f87c6bed69%40postgresql.org pg_dump 18beta1 fails to process complex table names]&lt;br /&gt;
** Commit: {{PgCommitURL|9c02e3a986}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|a6060f1cbe}}&lt;br /&gt;
&lt;br /&gt;
* Regression in statement locations with nested statements&lt;br /&gt;
** Commit: {{PgCommitURL|499edb09741b}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** [https://postgr.es/m/844a3b38-bbf1-4fb2-9fd6-f58c35c09917@pgbackrest.org bug report]&lt;br /&gt;
** Fixed by: {{PgCommitURL|06450c7b8c70}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/CAAeiqZ0o2p4SX5_xPcuAbbsmXjg6MJLNuPYSLUjC%3DWh-VeW64A%40mail.gmail.com incorrect reltuples after upgrade from &amp;lt;v14]&lt;br /&gt;
** Commit: {{PgCommitURL|1fd1bd8710}}&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Fixed by: {{PgCommitURL|5d6eac80cd}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/CAD21AoConf6tkVCv-=JhQJj56kYsDwo4jG5+WqgT+ukSkYomSQ@mail.gmail.com assert failure during eager scanning]&lt;br /&gt;
** Commit: {{PgCommitURL|052026c9b903}}&lt;br /&gt;
** Owner: Melanie Plageman&lt;br /&gt;
** Fixed by: {{PgCommitURL|4c08ecd1618}}&lt;br /&gt;
&lt;br /&gt;
* Prevent stack overflow in OAuth parsers&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788a}}&lt;br /&gt;
** {{messageLink|CAOYmi%2Bm71aRUEi0oQE9ciBnBS8xVtMn3CifaPu2kmJzUfhOZgA%40mail.gmail.com|Patch/discussion}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|cbc8fd0c9}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/aCvzJNwetyEI3Sgo%40paquier.xyz Redefine plan ID as int64 rather than uint64]&lt;br /&gt;
** The same problem applies to the query ID, but it is an older problem. The plan ID is new in v18.&lt;br /&gt;
** Commit: {{PgCommitURL|2a0cd38da5cc}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Fixed by: {{PgCommitURL|e050af28686e}}&lt;br /&gt;
&lt;br /&gt;
* Enable statistics in pg_dump by default (Jeff Davis)?&lt;br /&gt;
** {{messageLink|1=CAKAnmmKCgnqcd3x4Z+5yXsY7urpDS6D_NZG7pr=DYD=LHt5X4g@mail.gmail.com|2=Greg Sabino Mullane}}&lt;br /&gt;
** {{messageLink|1=CA+TgmoYGuEC=E4TbomRyqO8+Uav=90G0dYXw=rA1d5UmRB76Yg@mail.gmail.com|2=Robert Haas}}&lt;br /&gt;
** decision was opt-in for pg_dump[all] and opt-out for pg_upgrade/pg_restore&lt;br /&gt;
** Fixed by: {{PgCommitURL|34eb2a80d5}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/flat/18944-8a926c30f68387dd%40postgresql.org Assertion Failure in psql with idle_session_timeout set]&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|41625ab8ea3d}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|7f3381c7ee66}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/18920-b350b1c0a30af006@postgresql.org LOAD &#039;$libdir/plugins&#039; no longer works in 18beta1]&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Commit: {{PgCommitURL|4f7f7b037585}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|f777d77387}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250415155850.9b.nmisch@google.com|Trademark risk in new test}}&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|01463e1}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|4b05ebf095}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/18947-cdd2668beffe02bf@postgresql.org failed Assert(&amp;quot;len_to_wrt &amp;gt;= 0&amp;quot;) in pg_stat_statements]&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|499edb09741b}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|f85f6ab051b7}}&lt;br /&gt;
&lt;br /&gt;
* [https://postgr.es/m/CAE7r3MJ611B9TE=YqBBncewp7-k64VWs+sjk7XF6fJUX77uFBA@mail.gmail.com Improvements in GIN amcheck]&lt;br /&gt;
** Commit: {{PgCommitURL|14ffaece0fb53fed8ddbc46d2b353e1c4834863a}}&lt;br /&gt;
** Owner: Tomas Vondra&lt;br /&gt;
** Fixed by: {{PgCommitURL|0cf205e122ae0fe9333ccf843c2269f13ddc32fc}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250706161319.c1.nmisch@google.com|Remove PQservice()}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|4b99fed75}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|fef6da9}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/CAK_s-G2Q7de8Q0qOYUR=_CTB5FzzVBm5iZjOp+meVWpMpmfO0w@mail.gmail.com virtual generated columns are unsafe if superuser selects]&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Fixed by: {{PgCommitURL|0cd69b3d7ef}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|1500090.1745443021%40sss.pgh.pa.us|Non-reproducible AIO failure}}&lt;br /&gt;
** Owner: Andres Freund&lt;br /&gt;
** Partially fixed by: {{PgCommitURL|e9a3615a522}}, remaining issue is not reproducible&lt;br /&gt;
&lt;br /&gt;
=== resolved before 18beta1 ===&lt;br /&gt;
&lt;br /&gt;
* Fix guidance for running vacuumdb after pg_upgrade&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
** Commit: {{PgCommitURL|c9d502eb68}}&lt;br /&gt;
** {{messageLink|aAfxfKC82B9NvJDj%40msg.df7cb.de|pgsql: Update guidance for running vacuumdb after pg_upgrade.}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|d5f1b6a75b}}, {{PgCommitURL|9879105024}}&lt;br /&gt;
&lt;br /&gt;
* Not null not valid: pg_dump output is inconsistent on table inheritence tables&lt;br /&gt;
** Owner: Álvaro Herrera&lt;br /&gt;
** Commit: {{PgCommitURL|a379061a22a8fdf421e1a457cc6af8503def6252}}&lt;br /&gt;
** {{messageLink|CACJufxGHNNMc0E2JphUqJMzD3%3DbwRSuAEVBF5ekgkG8uY0Q3hg%40mail.gmail.com| pg_dump not null not valid is wrong}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|0e13b13d26e}}&lt;br /&gt;
&lt;br /&gt;
* Difference in statistics on original and restored database&lt;br /&gt;
** Owner: Ashutosh Bapat&lt;br /&gt;
** Commit: {{PgCommitURL|172259afb5}}&lt;br /&gt;
** {{messageLink|1=CAExHW5sFOgcUkVtZ8=QCAE+jv=sbNdBKq0xZCNJTh7019ZM+CQ@mail.gmail.com|2=Original report}}&lt;br /&gt;
** {{messageLink|1=CAExHW5uX1oH3f9WNGJf0E-0C9JFO20EryT0nMN42gfia5rkQLA@mail.gmail.com|2=Fix discussion}}&lt;br /&gt;
** Once this issue is fixed, we need to enable dumping statistics and comparing them in pg_upgrade/002_pg_upgrade.pl. The patch for the same is posted in the thread.&lt;br /&gt;
&lt;br /&gt;
* Use-after-free with stats_fetch_consistency = snapshot and pg_stat_get_backend_wal()&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|76def4cdd}}&lt;br /&gt;
** {{messageLink|f1788cc0-253a-4a3a-aee0-1b8ab9538736@gmail.com|Details of report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|3191a593d6de}}&lt;br /&gt;
&lt;br /&gt;
* Performance regression in SQL-language functions&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|0dca5d68d}}&lt;br /&gt;
** {{messageLink|1112592.1744572204@sss.pgh.pa.us|Performance issues with v18 SQL-language-function changes}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|0400ae4a6}} and four preceding patches&lt;br /&gt;
&lt;br /&gt;
* Memory mismanagement leads to infinite loop in walsender&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|1afe31f03}}&lt;br /&gt;
** {{messageLink|CAO6_XqoJA7-_G6t7Uqe5nWF3nj+QBGn4F6Ptp%3DrUGDr0zo+KvA%40mail.gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|80b727eb9}}&lt;br /&gt;
&lt;br /&gt;
* Not-null-in-pg_constraint changes cause parallel restore to deadlock&lt;br /&gt;
** Owner: Alvaro Herrera&lt;br /&gt;
** Commit: {{PgCommitURL|14e87ffa5c543b5f30ead7413084c25f7735039f}}&lt;br /&gt;
** {{messageLink|1280408.1744650810@sss.pgh.pa.us|Re: not null constraints, again}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|11ff192b5}}&lt;br /&gt;
&lt;br /&gt;
* Avoid core dump in pgstat_read_statsfile()&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|7949d9594582}}&lt;br /&gt;
** {{messageLink|aAieZAvM+K1d89R2@ip-10-97-1-34.eu-west-3.compute.internal|Avoid core dump in pgstat_read_statsfile()}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|923ae50cf559}}&lt;br /&gt;
&lt;br /&gt;
* Assertion failure in discardAbortedPipelineResults() with psql&#039;s pipeline mode&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit :{{PgCommitURL|2cce0fe440fb}}&lt;br /&gt;
** {{messageLink|ebf6ce77-b180-4d6b-8eab-71f641499ddf@postgrespro.ru|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|3631612eae9c}}&lt;br /&gt;
&lt;br /&gt;
* Use extended stats for precise estimation of bucket size in hash join&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|6bb6a62f3cc45624c601d5270673a17447734629}}&lt;br /&gt;
** {{messageLink|18885-da51324078588253@postgresql.org|ERROR: corrupt MVNDistinct entry - 2}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|9f404d7922e8831dc49bfa225530ba5309900e4e}}&lt;br /&gt;
&lt;br /&gt;
* Bugs in self-join elimination&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8}}&lt;br /&gt;
** {{messageLink|CAMbWs49PE3CvnV8vrQ0Dr%3DHqgZZmX0tdNbzVNJxqc8yg-8kDQQ%40mail.gmail.com|Some problems regarding the self-join elimination code}}&lt;br /&gt;
** {{messageLink|CAPpHfdtTxSs%2Bt8PXjJ_EC5roaQRLPyxt71M%3DAJvrGjYFC-wK5g%40mail.gmail.com|ERROR:  too late to create a new PlaceHolderInfo}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|1aa7cf9eb85972aaf2969306e84f5fc794fbef7f}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|2260c7f6d90ecf76d3806d32890a0890688b41e8}}&lt;br /&gt;
&lt;br /&gt;
* Treat oauth_client_secret as a password in UIs&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788afc17d2206e1ae1c731d8aeda1f2f59}}&lt;br /&gt;
** {{messageLink|20250415191435.55.nmisch%40google.com|dispchar for oauth_client_secret}}&lt;br /&gt;
&lt;br /&gt;
* Doc: mention ALTER TABLE ADD COLUMN no need rewrite when column is virtual generated column&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** Commit: {{PgCommitURL|83ea6c54025bea67bcd4949a6d58d3fc11c3e21b}}&lt;br /&gt;
** {{messageLink|00e6eb5f5c793b8ef722252c7a519c9a@oss.nttdata.com|DOC: ALTER TABLE ADD COLUMN TABLE REWRITE}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|06c4f3ae804}}&lt;br /&gt;
&lt;br /&gt;
* Split OAuth support from libpq into libpq-oauth&lt;br /&gt;
** Owner: Daniel Gustafsson&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788afc17d2206e1ae1c731d8aeda1f2f59}}&lt;br /&gt;
** {{messageLink|wbqaa72xxfnqtsspanbteoycmtpb6oshtwbrm7uwiw3pur4ll4@tybxmaasfjkv|Federated Authn/z with OAUTHBEARER}}&lt;br /&gt;
&lt;br /&gt;
* dangling-pointer problem in SQL-language functions&lt;br /&gt;
** Owner: Tom Lane&lt;br /&gt;
** Commit: {{PgCommitURL|0313c5dc6}}&lt;br /&gt;
** {{messageLink|9f975803-1a1c-4f21-b987-f572e110e860%40gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|e83a8ae4472}}&lt;br /&gt;
&lt;br /&gt;
* Memory leak in parallel GIN builds&lt;br /&gt;
** Owner: Tomas Vondra&lt;br /&gt;
** Commit: {{PgCommitURL|8492feb98f6df3f0f03e84ed56f0d1cbb2ac514c}}&lt;br /&gt;
** {{messageLink|CAFMdLD4p0VBd8JG%3DNbi%3DBKv6rzFAiGJ_sXSFrw-2tNmNZFO5Kg@mail.gmail.com|bug report}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|1681a70df3d6}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250412123430.8c.nmisch@google.com|Lost symmetry between lower() and regex equivalent, for &amp;quot;I/i in Turkish&amp;quot;}}&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Commit: {{PgCommitURL|e9931bf}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|2e5353b}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250415213450.1f.nmisch@google.com|Need s/PSQL_CMD_SKIP_LINE/PSQL_CMD_ERROR/ in new pipeline command}}&lt;br /&gt;
** Owner: Michael Paquier&lt;br /&gt;
** Commit: {{PgCommitURL|41625ab}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|5ee7bd9}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250417135841.33.nmisch@google.com|initcap discrepancy between &amp;quot;pg_unicode_fast&amp;quot; and &amp;quot;unicode&amp;quot;}}&lt;br /&gt;
** Owner: Jeff Davis&lt;br /&gt;
** Commit: {{PgCommitURL|d3d0983}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|90260e2}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250411203241.e9.nmisch@google.com|TypeCacheOpcCallback does not maintain RelIdToTypeIdCacheHash}}&lt;br /&gt;
** Owner: Alexander Korotkov&lt;br /&gt;
** Commit: {{PgCommitURL|b85a9d0}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|bb78e42}}&lt;br /&gt;
&lt;br /&gt;
* {{messageLink|20250415191435.55.nmisch@google.com|dispchar for oauth_client_secret}}&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be7}}&lt;br /&gt;
** Fixed by: {{PgCommitURL|e974f1c}}&lt;br /&gt;
&lt;br /&gt;
== Won&#039;t Fix ==&lt;br /&gt;
&lt;br /&gt;
* Rename --with-libcurl to --with-oauth-client&lt;br /&gt;
** Owner: Jacob Champion&lt;br /&gt;
** Commit: {{PgCommitURL|b3f0be788afc17d2206e1ae1c731d8aeda1f2f59}}&lt;br /&gt;
** {{messageLink|CAOYmi+n9DHS_xUatuuspdC8tjtaMzY8P11Y9y5Fz+2pjikkL9g@mail.gmail.com |Federated Authn/z with OAUTHBEARER}}&lt;br /&gt;
** This request was withdrawn, with input from Peter E and Robert.&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/aD3EA6jmcDZyPHiv%40nathan add more warnings about MD5 password deprecation]&lt;br /&gt;
** Owner: Nathan Bossart&lt;br /&gt;
&lt;br /&gt;
* decide what io_method to default to (Andres Freund)&lt;br /&gt;
** Commit: {{PgCommitURL|247ce06b883}}&lt;br /&gt;
** {{messageLink|flat/ZR0P278MB04279CB0C1D8F49DE68F168ED2AF2%40ZR0P278MB0427.CHEP278.PROD.OUTLOOK.COM|Doc update}}&lt;br /&gt;
** No change was made.&lt;br /&gt;
&lt;br /&gt;
* [https://www.postgresql.org/message-id/1514756.1747925490@sss.pgh.pa.us virtual generated columns and planning speed]&lt;br /&gt;
** Owner: Peter Eisentraut&lt;br /&gt;
** No change was made for v18, and no measurable performance impact has been shown&lt;br /&gt;
&lt;br /&gt;
== Important Dates ==&lt;br /&gt;
&lt;br /&gt;
Current schedule:&lt;br /&gt;
&lt;br /&gt;
* GA: September 25, 2025&lt;br /&gt;
* RC 1: September 4, 2025&lt;br /&gt;
* Beta 3: August 14, 2025&lt;br /&gt;
* Beta 2: July 17, 2025&lt;br /&gt;
* Beta 1: May 8, 2025&lt;br /&gt;
* Feature Freeze: April 8, 2025 0:00 AoE&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release Management Team]]&lt;br /&gt;
* [[PostgreSQL 17 Open Items]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Open_Items]]&lt;/div&gt;</summary>
		<author><name>Petere</name></author>
	</entry>
</feed>