default_toast_compression

一个决定默认 TOAST 压缩方法的配置参数

default_toast_compression 是一个 配置参数,用于确定新创建表列的默认 TOAST 压缩方法。

default_toast_compressionPostgreSQL 14 中引入。

用法

default_toast_compression 可以是以下值之一:

  • pglz
  • lz4

请注意,使用 lz4 需要 PostgreSQL 在编译时使用了选项 --with-lz4

要确定 lz4 是否可用,请执行以下查询:

postgres=# SELECT true FROM pg_config WHERE name = 'LIBS' and setting like '%lz4%';
 bool 
------
 t
(1 row)

默认值

default_toast_compression 的默认值为:pglz

按 PostgreSQL 版本详细信息

default_toast_compression (PostgreSQL 19)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
扩展描述  
上下文 user
变量类型 enum
来源 默认
最小值  
最大值  
枚举值 pglz
启动值 pglz
重置值 pglz
源文件  
源行  
需要重启 false

文档default_toast_compression

default_toast_compression (PostgreSQL 18)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
扩展描述  
上下文 user
变量类型 enum
来源 默认
最小值  
最大值  
枚举值 pglz
启动值 pglz
重置值 pglz
源文件  
源行  
需要重启 false

文档default_toast_compression

default_toast_compression (PostgreSQL 17)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
扩展描述  
上下文 user
变量类型 enum
来源 默认
最小值  
最大值  
枚举值 pglz
启动值 pglz
重置值 pglz
源文件  
源行  
需要重启 false

文档default_toast_compression

default_toast_compression (PostgreSQL 16)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
扩展描述  
上下文 user
变量类型 enum
来源 默认
最小值  
最大值  
枚举值 pglz
启动值 pglz
重置值 pglz
源文件  
源行  
需要重启 false

文档default_toast_compression

default_toast_compression (PostgreSQL 15)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
扩展描述  
上下文 user
变量类型 enum
来源 默认
最小值  
最大值  
枚举值 pglz
启动值 pglz
重置值 pglz
源文件  
源行  
需要重启 false

文档default_toast_compression

default_toast_compression (PostgreSQL 14)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
扩展描述  
上下文 user
变量类型 enum
来源 默认
最小值  
最大值  
枚举值 pglz
启动值 pglz
重置值 pglz
源文件  
源行  
需要重启 false

文档default_toast_compression

变更历史

示例

默认情况下,TOASTable 表将以 pglz 压缩类型创建。

postgres=# CREATE TABLE foo (val1 TEXT);
CREATE TABLE

postgres=# \d+ foo
                                          Table "public.foo"
 Column | Type | Collation | Nullable | Default | Storage  | Compression | Stats target | Description 
--------+------+-----------+----------+---------+----------+-------------+--------------+-------------
 val1   | text |           |          |         | extended | pglz        |              | 
Access method: heap

default_toast_compression 设置为 lz4 (如果可用)

postgres=# ALTER SYSTEM SET default_toast_compression='lz4';
ALTER SYSTEM

postgres=# SELECT pg_reload_conf();
 pg_reload_conf 
----------------
 t
(1 row)

postgres=# ALTER TABLE foo ADD val2 TEXT;
ALTER TABLE

postgres=# \d+ foo
                                          Table "public.foo"
 Column | Type | Collation | Nullable | Default | Storage  | Compression | Stats target | Description 
--------+------+-----------+----------+---------+----------+-------------+--------------+-------------
 val1   | text |           |          |         | extended | pglz        |              | 
 val2   | text |           |          |         | extended | lz4         |              | 
Access method: heap

请注意,只有当 PostgreSQL 在编译时使用了 --with-lz4 选项时,default_toast_compression 才能设置为 lz4,否则会引发错误。

postgres=# ALTER SYSTEM SET default_toast_compression='lz4';
ERROR:  invalid value for parameter "default_toast_compression": "lz4"
HINT:  Available values: pglz

分类

GUC 配置项, 存储, TOAST

反馈

提交关于“default_toast_compression”的任何评论、建议或更正请在此处 进行