发布日期:. 2021-12-31
本次发布与LightDB 13.3-21.2相比包含了各种变更。
WAL(预写式日志)可以放置在Intel Optane PMEM上,从而实现恢复时间和性能的显著改进。要启用此功能,请将GUC选项wal_sync_method设置为pmem_drain。详见 wal_sync_method。
MySQL兼容性增强
函数支持:find_in_set()、group_concat()、if()、truncate()、datediff()、locate() 和 database()。详见 Section 10.32。
longtext数据类型支持
LIMIT(m, n)语法支持。详见 Section 8.6。
Oracle兼容性增强,包括数据类型隐式转换,如数字类型(例如int2、int4、int8、float4、float8和numeric)和字符串类型(例如char、varchar、text和unknow)。详见 Chapter 11。
当将表设置为只读时,自动执行自动清理。无需手动执行。
在使用SHOW语句查看GUC参数时,可以使用通配符'%'。例如,您可以使用“SHOW max%”、“SHOW %timeout”和“SHOW %vacuum%”。详见 SHOW。
当使用UPDATE语句更新单个表时,可以使用别名。例如,您可以使用“UPDATE mytable AS t SET t.colname = value WHERE t.id = 1”。
支持根据指定规则自动清理归档的WAL和日志文件。详见 Section 18.5.3。
归档WAL:在成功归档WAL时,清理存档目录( lightdb_archive_dir)中早于(检查点文件- lightdb_archive_retention_size)的归档WAL文件。例如: lightdb_archive_retention_size = 2,检查点文件为000000010000000000000008, 将删除早于000000010000000000000006的文件。
日志文件:通过将 lightdb_log_retention_age设置为N分钟(通常设置为xxxd以删除xxx天前的文件)来删除早于N分钟的文件。 在切换到新文件时执行。时间取决于文件的修改时间。
COPY和pg_bulkload支持文本的多字符分隔符(最多三个)。详见 COPY。
COPY country TO STDOUT (DELIMITER 'ABC');
修改默认search_path以包含Oracle模式。这意味着orafce扩展中的函数和数据类型可以直接在任何地方使用。
集成了Citus扩展,但默认情况下未启用。
集成了pg_pathman扩展,并默认启用。
优化了pg_profile,增加了LightDB配置文件(PWR)中的数据库时间统计。详见 ltprofile。
优化了pg_hint_plan,包括多个提示支持、提示范围限定、qb_name语法支持和no_merge提示语法支持。 现在您只能为子查询使用提示。详见 lthint_plan。
优化了pg_cron,包括秒级定时任务支持和一次性调度任务支持。此外,任务的默认时区调整为UTC/GMT+08:00。 详见 lt_cron。
优化了system_stats,添加了一个新函数lt_get_sys_kernel_settings(),用于获取Linux内核参数。
lt_initdb命令行参数支持指定非默认端口号(-p)。 例如:lt_initdb -p xxx -D xxx。 详见 lt_initdb。
支持ROWNUM。ROWNUM是一个类似于Oracle的伪列。在查询返回的每一行中,ROWNUM
伪列返回一个数字,
表示LightDB从表或一组连接的行中选择行的顺序。
现在ROWNUM支持在order by、group by、子查询、连接、union和分区表中使用。但是,它不支持在更新或删除中使用, 也不支持在列表达式中使用(例如从xxx中选择rownum + 1)。详见 Section 8.9。
以下扩展已从LightDB中删除。
pg_wait_sampling
pg_wait_sampling
timescaledb