"shared_buffers" and "temp_buffers" why manual and code are different? - Mailing list pgsql-general

From Tianyin Xu
Subject "shared_buffers" and "temp_buffers" why manual and code are different?
Date
Msg-id CABBDWweA4gPrTVt9zQRiM5mDGe50QDQ4gLF5zxOFn=Ez8oMuGg@mail.gmail.com
Whole thread Raw
Responses Re: "shared_buffers" and "temp_buffers" why manual and code are different?
List pgsql-general
Hi,

I want to tune the memory usage of PG (9.3.1) on my environment. I'm really confused by the following two configuration parameters,

shared_buffers,
temp_buffers,

Take "shared_buffers" as the example, the manual says,

"Sets the amount of memory the database server uses for shared memory buffers. The default is typically 128 megabytes (128MB), .... This setting must be at least 128 kilobytes. "

However, when I look at the configuration code (below), the code shows it should be the number of shared memory buffers *NOT* the size of the buffer . 

/* guc.c */
1638         {"shared_buffers", PGC_POSTMASTER, RESOURCES_MEM,
1639             gettext_noop("Sets the number of shared memory buffers used by the server."),
1640             NULL,
1641             GUC_UNIT_BLOCKS
1642         },
1643         &NBuffers,
1644         1024, 16, INT_MAX / 2,
1645         NULL, NULL, NULL

So which one is correct?

Also, what exactly is the default value? The manual says that the default is 128MB while the min is 128KB. But from the code, you can clearly see that it's not the case.

Thank you very much!

Best regards,
Tianyin

pgsql-general by date:

Previous
From: Ken Tanzer
Date:
Subject: Re: Getting non_NULL right-side values on a non-matching join?
Next
From: Michael Paquier
Date:
Subject: Re: PG replication across DataCenters