作者:瀚高PG实验室 (Highgo PG Lab)-许云鹤
PostgreSQL服务器有大量的参数,这些参数有哪些类型和单位呢?
所有参数的名称都对大小写不敏感。每个参数都可以接受五种类型之一的值: 布尔、字符串、整数、 浮点数或枚举。
布尔: 值可以被写成on,off, true, false, yes, no, 1, 0 。大小写均不敏感。也或者可以是这些值的所有无歧义的前缀。
字符串: 通常值被包括在单引号内,值内部的任何单引号都需要被双写。不过,如果值是一个简单数字或者标识符,引号通常可以被省略。
数字(整数和浮点): 只对浮点参数允许一个小数点。禁止使用千位分隔符(,)。
带单位的数字: 一些数字参数具有隐含单位。单位可能是千字节、块(通常是 8KB)、 毫秒、秒或分钟。这些设置如果只写了未经修饰的数字值,这将使用该设置的默认单位,默认单位可以通过引用pg_settings.unit来找到。为了方便,也可以 显式地指定一个不同的单位,例如时间值可以是’120 ms’,并且它们将被转换到参数的实际单位。要使用这个特性,参数值必须被写成一个字符串(带有引号)。单位名称是大小写敏感的,并且在数值和单位之间可以有空格。
可用的内存单位是KB(千字节)、MB(兆字节)和GB(吉字节)。
可用的时间单位是ms(毫秒)、s(秒)、min(分钟)、 h(小时)和d(天)。
枚举: 枚举类型的参数以与字符串参数相同的方式指定,但被限制到一组有限的值。 这样一个参数可用的值可以在pg_settings.enumvals 中找到。枚举参数值是大小写不敏感的。