On 5/20/24 6:08 AM, Alvaro Herrera wrote:
> On 2024-May-19, Jonathan S. Katz wrote:
>
>> ### Query and Operational Performance Improvements
>
> In this section I'd add mention the new GUCs to control SLRU memory
> size, which is going to be a huge performance boon for cases where the
> current fixed-size buffers cause bottlenecks. Perhaps something like
>
> "Increase scalability of transaction, subtransaction and multixact
> shared memory buffer handling, and make their buffer sizes configurable".
>
> I don't know if we have any published numbers of the performance
> improvement achieved, but with this patch (or ancestor ones) some
> systems go from completely unoperational to working perfectly fine.
> Maybe the best link is here
> https://www.postgresql.org/docs/devel/runtime-config-resource.html#GUC-MULTIXACT-MEMBER-BUFFERS
> though exactly which GUC affects any particular user is workload-
> dependant, so I'm not sure how best to do it.
I originally had penciled in this change, but didn't have a good way of
describing it. The above solves that problem. I went with:
"PostgreSQL 17 also includes configuration parameters that can control
scalability of [transaction, subtransaction and multixact
buffers](https://www.postgresql.org/docs/devel/runtime-config-resource.html#GUC-MULTIXACT-MEMBER-BUFFERS)."
>> ### Developer Experience
>
> I think this section should also include the libpq query cancellation
> improvements Jelte wrote. Maybe something like "On the client side,
> PostgreSQL 17 provides better support for asynchronous and more secure
> query cancellation routines in libpq." --> link to
> https://www.postgresql.org/docs/17/libpq-cancel.html
I went with:
PostgreSQL 17 also provides better support for [asynchronous and more
secure query cancellation
routines](https://www.postgresql.org/docs/17/libpq-cancel.html), which
drivers can adopt using the libpq API.
Thanks,
Jonathan