Re: pgsql: Trial fix for old cross-version upgrades.

2025-03-07 Thread Robins Tharakan
On Sat, 1 Mar 2025 at 03:42, Sami Imseih wrote: > I was running "make check-world" this morning on a machine that has an > old version of perl, 5.16, and the check-world was hung on > /usr/bin/perl t/002_pg_upgrade.pl. > FWIW, both massasauga / snakefly were stuck owing to this for the past few

pgsql: Use stricter ordering in regression test query for pg_stat_io

2025-03-07 Thread Michael Paquier
Use stricter ordering in regression test query for pg_stat_io The query introduced in 8b532771a099 is proving to have ordering issues under at least the locale cs_CZ. This commit updates the query to use a stricter ordering. Per reports from buildfarm members hippopotamus and jay. Branch --

pgsql: Add regression test listing all the possible tuples in pg_stat_i

2025-03-07 Thread Michael Paquier
Add regression test listing all the possible tuples in pg_stat_io pg_stat_io returns a set of tuples based on a combination of three properties (BackendType, IOObject and IOContext) and pgstat_tracks_io_object() to decide if a BackendType should return a tuple based on a pair made of an IOObject a

pgsql: Improve check for detection of pending data in backend statistic

2025-03-07 Thread Michael Paquier
Improve check for detection of pending data in backend statistics The callback pgstat_backend_have_pending_cb() is used as a way for pg_stat_report() to detect if there is any pending data for backend statistics. It did not include a check based on pgstat_tracks_backend_bktype(), that discards pr

pgsql: Fix some performance issues in GIN query startup.

2025-03-07 Thread Tom Lane
Fix some performance issues in GIN query startup. If a GIN index search had a lot of search keys (for example, "jsonbcol ?| array[]" with tens of thousands of array elements), both ginFillScanKey() and startScanKey() took O(N^2) time. Worse, those loops were uncancelable for lack of CHECK_FOR_INTE

pgsql: nbtree: refine _bt_readnextpage contract comments.

2025-03-07 Thread Peter Geoghegan
nbtree: refine _bt_readnextpage contract comments. Another minor follow-up commit for commit 1bd4bc85, which changed the _bt_readnextpage contract. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/8e167e618893b59ee45317c43055002ba71f955b Modified Files -

pgsql: Doc: correct aggressive vacuum threshold for multixact members s

2025-03-07 Thread John Naylor
Doc: correct aggressive vacuum threshold for multixact members storage The threshold is two billion members, which was interpreted as 2GB in the documentation. Fix to reflect that each member takes up five bytes, which translates to about 10GB. This is not exact, because of page boundaries. While

Re: pgsql: vacuumdb: Add option for analyzing only relations missing stats.

2025-03-07 Thread John Naylor
On Fri, Mar 7, 2025 at 10:29 AM John Naylor wrote: > > vacuumdb: Add option for analyzing only relations missing stats. My apologies, I didn't realize I had applied this to master branch when reviewing it, will revert. -- John Naylor Amazon Web Services

Re: pgsql: Allow parallel CREATE INDEX for GIN indexes

2025-03-07 Thread Peter Eisentraut
The new tuplesort_getgintuple() in tuplesortvariants.c has a branch that does "return false" even though the function's return type is GinTuple *. That is probably a mistake. Check please. Also, this code contains a "pgrminclude ignore", but we don't use those anymore. On 03.03.25 17:10,

pgsql: Assert that wrapper_handler()'s argument is within expected rang

2025-03-07 Thread Nathan Bossart
Assert that wrapper_handler()'s argument is within expected range. pqsignal() already does a similar check, but strange Valgrind reports have us wondering if wrapper_handler() is somehow getting called with an invalid signal number. Reported-by: Tomas Vondra Suggested-by: Andres Freund Discussi

pgsql: Assert that wrapper_handler()'s argument is within expected rang

2025-03-07 Thread Nathan Bossart
Assert that wrapper_handler()'s argument is within expected range. pqsignal() already does a similar check, but strange Valgrind reports have us wondering if wrapper_handler() is somehow getting called with an invalid signal number. Reported-by: Tomas Vondra Suggested-by: Andres Freund Discussi

Re: pgsql: Make postgres_fdw's query_cancel test less flaky.

2025-03-07 Thread Tom Lane
Michael Paquier writes: > On Fri, Aug 30, 2024 at 08:47:46PM +, Tom Lane wrote: >> Make postgres_fdw's query_cancel test less flaky. > Based on this recent report from the buildfarm, there is still > something happening here: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=drongo&dt

Re: pgsql: Generalize hash and ordering support in amapi

2025-03-07 Thread Tom Lane
Peter Eisentraut writes: > I have committed fixes for these issues along the lines you suggested. Thanks. There is a typo in hashhandler: - amroutine->amcancrosscompare = true; + amroutine->amconsistentequality = true; + amroutine->amconsistentequality = false; The second line should be

pgsql: Include column name in build_attrmap_by_position's error reports

2025-03-07 Thread Tom Lane
Include column name in build_attrmap_by_position's error reports. Formerly we only provided the column number, but it's frequently more useful to mention the column name. The input tupdesc often doesn't have useful column names, but the output tupdesc usually contains user-supplied names, so repo

pgsql: tests: Don't fail due to high default timeout in postmaster/003_

2025-03-07 Thread Andres Freund
tests: Don't fail due to high default timeout in postmaster/003_start_stop Some BF animals use very high timeouts due to their slowness. Unfortunately postmaster/003_start_stop fails if a high timeout is configured, due to authentication_timeout having a fairly low max. As this test is reasonably

pgsql: tests: Fix race condition in postmaster/002_connection_limits

2025-03-07 Thread Andres Freund
tests: Fix race condition in postmaster/002_connection_limits The test occasionally failed due to unexpected connection limit errors being encountered after having waited for FATAL errors on another connection. These spurious failures were caused by the the backend reporting FATAL errors to the cl

pgsql: Fix some performance issues in GIN query startup.

2025-03-07 Thread Tom Lane
Fix some performance issues in GIN query startup. If a GIN index search had a lot of search keys (for example, "jsonbcol ?| array[]" with tens of thousands of array elements), both ginFillScanKey() and startScanKey() took O(N^2) time. Worse, those loops were uncancelable for lack of CHECK_FOR_INTE

pgsql: Fix some performance issues in GIN query startup.

2025-03-07 Thread Tom Lane
Fix some performance issues in GIN query startup. If a GIN index search had a lot of search keys (for example, "jsonbcol ?| array[]" with tens of thousands of array elements), both ginFillScanKey() and startScanKey() took O(N^2) time. Worse, those loops were uncancelable for lack of CHECK_FOR_INTE

pgsql: Address stats export review comments.

2025-03-07 Thread Jeff Davis
Address stats export review comments. Per discussion, did not use Jian He's patch exactly. Reported-by: jian he Reviewed-by: Corey Huinker Discussion: https://postgr.es/m/CACJufxFVq=tq9u1zrhwysbmi1t07gs9ff0ljscmco4hzmtz...@mail.gmail.com Discussion: https://postgr.es/m/CADkLM=f1n2_Vomq0gKab7x

pgsql: doc: Add missing decimal places to example rowcount.

2025-03-07 Thread Robert Haas
doc: Add missing decimal places to example rowcount. Commit 95dbd827f2edc4d10bebd7e840a0bd6782cf69b7 updated a bunch of similar cases in the documentation, but missed this one. Author: Ilia Evdokimov Reviewed-by: Fabrízio de Royes Mello Branch -- master Details --- https://git.postgre

Re: pgsql: Generalize hash and ordering support in amapi

2025-03-07 Thread Peter Eisentraut
On 04.03.25 18:35, Tom Lane wrote: In any case, my gripe was less about the name of the flag and more about the lack of a clear specification of what it means. "does AM support cross-type comparisons" doesn't get the job done. Maybe we can fit /* do operators within an opfamily have consi

pgsql: Improve possible performance regression

2025-03-07 Thread Peter Eisentraut
Improve possible performance regression Commit ce62f2f2a0a introduced calls to GetIndexAmRoutineByAmId() in lsyscache.c functions. This call is a bit more expensive than a simple syscache lookup. So rearrange the nesting so that we call that one last and do the cheaper checks first. Reported-by

pgsql: Rename amcancrosscompare

2025-03-07 Thread Peter Eisentraut
Rename amcancrosscompare After more discussion about commit ce62f2f2a0a, rename the index AM property amcancrosscompare to two separate properties amconsistentequality and amconsistentordering. Also improve the documentation and update some comments that were previously missed. Reported-by: Tom

pgsql: CREATE INDEX: don't update table stats if autovacuum=off.

2025-03-07 Thread Jeff Davis
CREATE INDEX: don't update table stats if autovacuum=off. We previously fixed this for binary upgrade in 71b66171d0, but a similar problem remained when dumping statistics without data. Fix by not opportunistically updating table stats during CREATE INDEX when autovacuum is disabled. For stats to

pgsql: Allow casting between bytea and integer types.

2025-03-07 Thread Dean Rasheed
Allow casting between bytea and integer types. This allows smallint, integer, and bigint values to be cast to and from bytea. The bytea value is the two's complement representation of the integer, with the most significant byte first. For example: 1234::bytea -> \x04d2 (-1234)::bytea -> \

Re: pgsql: Make postgres_fdw's query_cancel test less flaky.

2025-03-07 Thread Michael Paquier
Hi Tom, On Fri, Aug 30, 2024 at 08:47:46PM +, Tom Lane wrote: > Make postgres_fdw's query_cancel test less flaky. > > This test occasionally shows > > +WARNING: could not get result of cancel request due to timeout > > which appears to be because the cancel request is sometimes unluckily >