参数名称和值
所有参数名称均不区分大小写。每个参数都采用以下五种类型之一的值:布尔值、字符串、整数、浮点数或枚举 (enum)。类型决定了设置参数的语法:
-
布尔值:值可以写为
on
、off
、true
、false
、yes
、no
、1
)0
或其中任何明确的前缀。 -
字符串:通常,将值括在单引号中,并将值中的任何单引号加倍。但是,如果值是简单数字或标识符,通常可以省略引号。(与 SQL 关键字匹配的值在某些情况下需要加引号。)
-
数字(整数和浮点):数字参数可以采用惯用的整数和浮点格式指定;如果参数为整数类型,则小数值将四舍五入为最接近的整数。整数参数还接受十六进制输入(以 开头
0x
)和八进制输入(以 开头0
),但这些格式不能有小数。请勿使用千位分隔符。除十六进制输入外,不需要引号。 -
带单位的数字:一些数字参数具有隐式单位,因为它们描述的是内存或时间的数量。单位可能是字节、千字节、块(通常为 8 千字节)、毫秒、秒或分钟。这些设置之一的未修饰数值将使用设置的默认单位,可从中了解
pg_settings
。unit
为方便起见,可以为设置指定明确指定的单位,例如'120 ms'
时间值,它们将转换为参数的实际单位。请注意,必须将值写为字符串(带引号)才能使用此功能。单位名称区分大小写,数值和单位之间可以有空格。-
有效的内存单位为
B
(字节)、kB
(千字节)、MB
(兆字节)、GB
(千兆字节) 和TB
(太字节)。内存单位的乘数为 1024,而不是 1000。 -
有效的时间单位为
us
(微秒)、ms
(毫秒)、s
(秒)、min
(分钟)、h
(小时)和d
(天)。
如果小数值指定了单位,则它将被四舍五入为下一个较小单位的倍数(如果有)。例如,
30.1 GB
将被转换为30822 MB
not32319628902 B
。如果参数是整数类型,则在任何单位转换之后都会最终四舍五入为整数。 -
-
枚举:枚举类型参数的书写方式与字符串参数相同,但只能使用一组有限的值。此类参数的允许值可从 中找到
pg_settings
。enumvals
枚举参数值不区分大小写。
通过配置文件进行参数交互
设置这些参数的最基本方法是编辑文件postgresql.conf
,通常保存在数据目录中。初始化数据库集群目录时会安装默认副本。该文件的示例可能如下所示:
# This is a comment log_connections = yes log_destination = 'syslog' search_path = '"$user", public' shared_buffers = 128MB
通过 SQL 进行参数交互
PostgreSQL提供了三个 SQL 命令来建立配置默认值。
PostgreSQL数据目录还包含一个文件postgresql.auto.conf,
ALTER SYSTEM
命令修改的内容写入此配置文件。postgresql.auto.conf
中的设置会覆盖置postgresql.conf
中的设置。
还有两个命令也有上诉作用
-
该
ALTER DATABASE
命令允许根据每个数据库覆盖全局设置
-
该
ALTER ROLE
命令允许使用用户特定的值覆盖全局和每个数据库的设置。
标签:postgresql,字节,整数,单位,参数,设置 From: https://www.cnblogs.com/wonchaofan/p/18240344