mirror of
https://github.com/postgres/postgres.git
synced 2025-08-22 21:53:06 +03:00
Make the number of CLOG buffers adaptive, based on shared_buffers.
Previously, this was hardcoded: we always had 8. Performance testing shows that isn't enough, especially on big SMP systems, so we allow it to scale up as high as 32 when there's adequate memory. On the flip side, when shared_buffers is very small, drop the number of CLOG buffers down to as little as 4, so that we can start the postmaster even when very little shared memory is available. Per extensive discussion with Simon Riggs, Tom Lane, and others on pgsql-hackers.
This commit is contained in:
@@ -28,14 +28,11 @@ typedef int XidStatus;
|
||||
#define TRANSACTION_STATUS_SUB_COMMITTED 0x03
|
||||
|
||||
|
||||
/* Number of SLRU buffers to use for clog */
|
||||
#define NUM_CLOG_BUFFERS 8
|
||||
|
||||
|
||||
extern void TransactionIdSetTreeStatus(TransactionId xid, int nsubxids,
|
||||
TransactionId *subxids, XidStatus status, XLogRecPtr lsn);
|
||||
extern XidStatus TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn);
|
||||
|
||||
extern Size CLOGShmemBuffers(void);
|
||||
extern Size CLOGShmemSize(void);
|
||||
extern void CLOGShmemInit(void);
|
||||
extern void BootStrapCLOG(void);
|
||||
|
Reference in New Issue
Block a user