pgsql: Remove arbitrary cap on read_stream.c buffer queue.

2025-02-26 Thread Thomas Munro
Remove arbitrary cap on read_stream.c buffer queue. Previously the internal queue of buffers was capped at max_ios * 4, though not less than io_combine_limit, at allocation time. That was done in the first version based on conservative theories about resource usage and heuristics pending later wo

pgsql: pg_amcheck: Fix inconsistency in memory freeing

2025-02-26 Thread Michael Paquier
pg_amcheck: Fix inconsistency in memory freeing The function in charge of freeing the memory from a result created by PQescapeIdentifier() has to be PQfreemem(), to ensure that both allocation and free come from libpq, but one spot in pg_amcheck was missing that. Oversight in b859d94c6389. Autho

pgsql: pg_amcheck: Fix inconsistency in memory freeing

2025-02-26 Thread Michael Paquier
pg_amcheck: Fix inconsistency in memory freeing The function in charge of freeing the memory from a result created by PQescapeIdentifier() has to be PQfreemem(), to ensure that both allocation and free come from libpq, but one spot in pg_amcheck was missing that. Oversight in b859d94c6389. Autho

pgsql: pg_amcheck: Fix inconsistency in memory freeing

2025-02-26 Thread Michael Paquier
pg_amcheck: Fix inconsistency in memory freeing The function in charge of freeing the memory from a result created by PQescapeIdentifier() has to be PQfreemem(), to ensure that both allocation and free come from libpq, but one spot in pg_amcheck was missing that. Oversight in b859d94c6389. Autho

pgsql: pg_amcheck: Fix inconsistency in memory freeing

2025-02-26 Thread Michael Paquier
pg_amcheck: Fix inconsistency in memory freeing The function in charge of freeing the memory from a result created by PQescapeIdentifier() has to be PQfreemem(), to ensure that both allocation and free come from libpq, but one spot in pg_amcheck was missing that. Oversight in b859d94c6389. Autho

pgsql: pg_amcheck: Fix inconsistency in memory freeing

2025-02-26 Thread Michael Paquier
pg_amcheck: Fix inconsistency in memory freeing The function in charge of freeing the memory from a result created by PQescapeIdentifier() has to be PQfreemem(), to ensure that both allocation and free come from libpq, but one spot in pg_amcheck was missing that. Oversight in b859d94c6389. Autho

pgsql: Fix the race condition in ReplicationSlotAcquire().

2025-02-26 Thread Amit Kapila
Fix the race condition in ReplicationSlotAcquire(). After commit f41d8468dd, a process could acquire and use a replication slot that had just been invalidated, leading to failures while accessing WAL. To ensure that we don't accidentally start using invalid slots, we must perform the invalidation

pgsql: Doc: Additional clarification for -d option of pg_createsubscrib

2025-02-26 Thread Amit Kapila
Doc: Additional clarification for -d option of pg_createsubscriber. Author: vignesh C Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CALDaNm0zsFUYpe-tLha+-sp3K8KmBXu0o=LUN=8fftxmlyi...@mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/84551

pgsql: Refactor code of pg_stat_get_wal() building result tuple

2025-02-26 Thread Michael Paquier
Refactor code of pg_stat_get_wal() building result tuple This commit adds to pgstatfuncs.c a new routine called pg_stat_wal_build_tuple(), helper routine for pg_stat_get_wal(). This is in charge of filling one tuple based on the contents of PgStat_WalStats retrieved from pgstats. This refactorin

pgsql: Fix possible double-release of spinlock in procsignal.c

2025-02-26 Thread Michael Paquier
Fix possible double-release of spinlock in procsignal.c 9d9b9d46f3c5 has added spinlocks to protect the fields in ProcSignal flags, introducing a code path in ProcSignalInit() where a spinlock could be released twice if the pss_pid field of a ProcSignalSlot is found as already set. Multiple spinl

pgsql: Remove stray diff introduced by a5cbdeb98a.

2025-02-26 Thread Jeff Davis
Remove stray diff introduced by a5cbdeb98a. Reported-by: Michael Paquier Discussion: https://postgr.es/m/z77ikjmmfbffn...@paquier.xyz Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/15df9d7b5123b2b478886175c17cd0c0359d9996 Modified Files -- src/include

pgsql: Use attnum to identify index columns in pg_restore_attribute_sta

2025-02-26 Thread Tom Lane
Use attnum to identify index columns in pg_restore_attribute_stats(). Previously we used attname for both table and index columns, but that is problematic for indexes because their attnames are assigned by internal rules that don't guarantee to preserve the names across dump and reload. (This is

Re: pgsql: Prepare for Python "Limited API" in PL/Python

2025-02-26 Thread Peter Eisentraut
On 26.02.25 17:51, Tom Lane wrote: Peter Eisentraut writes: Prepare for Python "Limited API" in PL/Python Buildfarm's not happy with this at all. It fails here too, with python 3.6.8: Yeah, apparently, it needs some more analysis for these older versions. I have reverted it for now.

pgsql: Revert "Prepare for Python "Limited API" in PL/Python"

2025-02-26 Thread Peter Eisentraut
Revert "Prepare for Python "Limited API" in PL/Python" This reverts commit c47e8df815c1c45f4e4fc90d5817d67ab088279f. That commit makes the plpython tests crash with Python 3.6.* and 3.7.*. It will need further investigation and testing, so revert for now. Branch -- master Details --- h

pgsql: Fix a typo in 005_char_signedness.pl test.

2025-02-26 Thread Masahiko Sawada
Fix a typo in 005_char_signedness.pl test. The test in 005_char_signedness.pl was missing a dash in the --set-char-signedness option. Although the test didn't fail since it doesn't check the error message, it resulted in an unexpected error message instead of the intended one. Oversight in 1aab68

Re: pgsql: Prepare for Python "Limited API" in PL/Python

2025-02-26 Thread Tom Lane
Peter Eisentraut writes: > Prepare for Python "Limited API" in PL/Python Buildfarm's not happy with this at all. It fails here too, with python 3.6.8: Program terminated with signal SIGSEGV, Segmentation fault. #0 PyDict_GetItem (op=, key='enter') at /usr/src/debug/python3-3.6.8-69.el8_10.

pgsql: Prepare for Python "Limited API" in PL/Python

2025-02-26 Thread Peter Eisentraut
Prepare for Python "Limited API" in PL/Python Using the Python Limited API would allow building PL/Python against any Python 3.x version and using another Python 3.x version at run time. This commit does not activate that, but it prepares the code to only use APIs supported by the Limited API. I