postgresql/src/include/storage
Thomas Munro 3bd8439ed6 Allow BufferAccessStrategy to limit pin count.
While pinning extra buffers to look ahead, users of strategies are in
danger of using too many buffers.  For some strategies, that means
"escaping" from the ring, and in others it means forcing dirty data to
disk very frequently with associated WAL flushing.  Since external code
has no insight into any of that, allow individual strategy types to
expose a clamp that should be applied when deciding how many buffers to
pin at once.

Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://postgr.es/m/CAAKRu_aJXnqsyZt6HwFLnxYEBgE17oypkxbKbT1t1geE_wvH2Q%40mail.gmail.com
2024-04-06 23:11:45 +13:00
..
.gitignore When trace_lwlocks is used, identify individual lwlocks by name. 2015-09-11 14:01:39 -04:00
barrier.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
block.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
buf.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
buf_internals.h Add missing PGDLLIMPORT markings 2024-01-16 13:53:28 +02:00
buffile.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
bufmgr.h Allow BufferAccessStrategy to limit pin count. 2024-04-06 23:11:45 +13:00
bufpage.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
bulk_write.h Fix compiler warning on typedef redeclaration 2024-02-23 17:39:27 +02:00
checksum.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
checksum_impl.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
condition_variable.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
copydir.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
dsm.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
dsm_impl.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
dsm_registry.h Introduce the dynamic shared memory registry. 2024-01-19 14:24:36 -06:00
fd.h Return ssize_t in fd.c I/O functions. 2024-03-02 12:09:28 +13:00
fileset.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
freespace.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
fsm_internals.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
indexfsm.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
ipc.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
item.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
itemid.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
itemptr.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
large_object.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
latch.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
lmgr.h Avoid deadlock during orphan temp table removal. 2024-04-02 14:59:32 -04:00
lock.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
lockdefs.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
lwlock.h Use TidStore for dead tuple TIDs storage during lazy vacuum. 2024-04-02 10:15:37 +09:00
lwlocklist.h Rework lwlocknames.txt to become lwlocklist.h 2024-03-20 11:55:20 +01:00
md.h Introduce a new smgr bulk loading facility. 2024-02-23 16:10:51 +02:00
meson.build Rework lwlocknames.txt to become lwlocklist.h 2024-03-20 11:55:20 +01:00
off.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_sema.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_shmem.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pmsignal.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
predicate.h Improve performance of subsystems on top of SLRU 2024-02-28 17:05:31 +01:00
predicate_internals.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
proc.h Allow a no-wait lock acquisition to succeed in more cases. 2024-03-14 08:56:06 -04:00
procarray.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
proclist.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
proclist_types.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
procnumber.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
procsignal.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
read_stream.h Provide API for streaming relation data. 2024-04-03 00:49:46 +13:00
reinit.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
relfilelocator.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
s_lock.h Remove AIX support 2024-02-28 15:17:23 +04:00
sharedfileset.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
shm_mq.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
shm_toc.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
shmem.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
sinval.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
sinvaladt.h Redefine backend ID to be an index into the proc array 2024-03-03 19:37:28 +02:00
smgr.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
spin.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
standby.h Fix false reports in pg_visibility 2024-03-14 13:12:05 +02:00
standbydefs.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
sync.h Update copyright for 2024 2024-01-03 20:49:05 -05:00