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 17)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
额外描述  
上下文 用户
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 pglz, lz4
引导值 pglz
重置值 pglz
源文件  
源代码行号  
待重启 false

文档: default_toast_compression

default_toast_compression (PostgreSQL 16)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
额外描述  
上下文 用户
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 pglz, lz4
引导值 pglz
重置值 pglz
源文件  
源代码行号  
待重启 false

文档: default_toast_compression

default_toast_compression (PostgreSQL 15)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
额外描述  
上下文 用户
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 pglz, lz4
引导值 pglz
重置值 pglz
源文件  
源代码行号  
待重启 false

文档: default_toast_compression

default_toast_compression (PostgreSQL 14)

设置 pglz
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置可压缩值的默认压缩方法。
额外描述  
上下文 用户
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 pglz, lz4
引导值 pglz
重置值 pglz
源文件  
源代码行号  
待重启 false

文档: default_toast_compression

更改历史记录

示例

默认情况下,可使用 TOAST 的表将使用 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" 的评论、建议或更正 此处