PostgreSQL shared_buffers的单位是什么?

b4r*_*3kk 4 postgresql

我想改变mu pgsql数据库配置,我想知道他们用什么单位来描述一些值.大多数情况下,我想了解shared_buffers.

如果我的shared_buffers值是例如16384,那它是KB吗?MB?字节?这个值的单位是多少?

DrC*_*sos 6

当你执行

SHOW shared_buffers;
Run Code Online (Sandbox Code Playgroud)

我得到类似的东西

 shared_buffers
----------------
 256MB
(1 row)
Run Code Online (Sandbox Code Playgroud)

这告诉了当前的值.


Nic*_*nes 6

shared_buffers在磁盘块中计算.默认block_size设置为8kB,如果不重新编译服务器则无法更改,因此几乎可以肯定您正在使用的设置.这意味着shared_buffers=16384相当于128MB.

SELECT * FROM pg_settings将向您展示设置的基本单位,以及其他内容.正如@DrColossos指出的那样,SHOW shared_buffers会给你一个合格的金额,就像@Raptor说的那样,你可以(并且应该!)为任何有它们的设置指定单位.


Rap*_*tor 5

对于shared_buffers设置,您可以指定单位,例如

shared_buffers = 3840MB
Run Code Online (Sandbox Code Playgroud)

在官方文档中说:

避免使用整数-您需要了解基本单位才能理解它们的含义。

ps推荐值=可用内存的25%

参考:

  • 默认情况下,单位为8kB。有点莫名其妙,我知道:) (3认同)
  • 是的,但是如果没有指定单位是什么?我想知道当前值是多少。 (2认同)