pgsql: bufmgr: Remove buffer-write-dirty tracepoints

2023-04-03 Thread Andres Freund
bufmgr: Remove buffer-write-dirty tracepoints The trace point was using the relfileno / fork / block for the to-be-read-in buffer. Some upcoming work would make that more expensive to provide. We still have buffer-flush-start/done, which can serve most tracing needs that buffer-write-dirty could

pgsql: Make SP-GiST redirect cleanup more aggressive.

2023-04-03 Thread Peter Geoghegan
Make SP-GiST redirect cleanup more aggressive. Commit 61b313e4 made VACUUM pass down a heaprel to index AM bulkdelete and vacuumcleanup routines. Although this was primarily intended as preparation for logical decoding on standbys, it also made it easy to correct an old deficiency in how we

pgsql: Recycle deleted nbtree pages more aggressively.

2023-04-03 Thread Peter Geoghegan
Recycle deleted nbtree pages more aggressively. Commit 61b313e4 made nbtree consistently pass down a heaprel to low level routines like _bt_getbuf(). Although this was primarily intended as preparation for logical decoding on standbys, it also made it easy to correct an old deficiency in how

pgsql: Move heaprel struct field next to index rel field.

2023-04-03 Thread Peter Geoghegan
Move heaprel struct field next to index rel field. Commit 61b313e4 added a heaprel struct member to IndexVacuumInfo, but placed it last. Move the heaprel struct member next to the index struct member to improve the code's readability. Author: Peter Geoghegan Discussion:

pgsql: Fix possible logical replication crash.

2023-04-03 Thread Robert Haas
Fix possible logical replication crash. Commit c3afe8cf5a1e465bd71e48e4bc717f5bfdc7a7d6 added a new password_required option but forgot that you need database access to check whether an arbitrary role ID is a superuser. Report and patch by Hou Zhijie. I added a comment. Thanks to Alexander

pgsql: When using valgrind, log the current query after an error is det

2023-04-03 Thread Tom Lane
When using valgrind, log the current query after an error is detected. In USE_VALGRIND builds, add code to print the text of the current query to the valgrind log whenever the valgrind error count has increased during the query. Valgrind will already have printed its report, if the error is

pgsql: Revert 11470f544e

2023-04-03 Thread Alexander Korotkov
Revert 11470f544e Discussion: https://postgr.es/m/20230323003003.plgaxjqahjgkuxrk%40awork3.anarazel.de Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/2b65bf046d8a23be25502638da77a1592da2548d Modified Files -- src/backend/access/heap/heapam_handler.c

pgsql: Revert 764da7710b

2023-04-03 Thread Alexander Korotkov
Revert 764da7710b Discussion: https://postgr.es/m/20230323003003.plgaxjqahjgkuxrk%40awork3.anarazel.de Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/b0b91ced167f02ced4adaf1b2ecdc6fa0f6eb6e9 Modified Files -- src/backend/executor/nodeModifyTable.c |

pgsql: Rename BufferAccessStrategyData.ring_size to nbuffers

2023-04-03 Thread David Rowley
Rename BufferAccessStrategyData.ring_size to nbuffers The new name better reflects what the field is - the size of the buffers[] array. ring_size sounded more like it is in units of bytes. An upcoming commit allows a BufferAccessStrategy of custom sizes, so it seems relevant to improve this

pgsql: Disable vacuum's use of a buffer access strategy during failsafe

2023-04-03 Thread David Rowley
Disable vacuum's use of a buffer access strategy during failsafe Traditionally, vacuum always makes use of a buffer access strategy 32 buffers in size. This means that running vacuums tend not to cause too many shared buffers to become dirty, however, this can cause vacuums to run much more

pgsql: Fix typo in CI README

2023-04-03 Thread Daniel Gustafsson
Fix typo in CI README s/fron/from/ Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/525fb0a171a60ddea94c1953e24abef1da35 Modified Files -- src/tools/ci/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)

pgsql: Only make buffer strategy for vacuum when it's likely needed

2023-04-03 Thread David Rowley
Only make buffer strategy for vacuum when it's likely needed VACUUM FULL and VACUUM ONLY_DATABASE_STATS will not use the vacuum strategy ring created in vacuum(), so don't waste effort making it in those cases. There are other conceivable cases where the buffer strategy also won't be used, but