警告
这是一个历史文档,它包含旧版 TimescaleDB 的发行说明。有关最新版本的详细信息,请参阅变更日志.
- 分层连续聚合(连续聚合在另一个连续聚合之上)
- 改进
time_bucket_gapfill
函数以允许指定要分组的时区 - 引入后台作业的固定时间表以及检查作业错误的能力。
- 使用
alter_data_node()
更改数据节点配置。此函数引入了配置数据节点可用性的选项。
此版本包含自 2.9.2 版本以来的错误修复以及针对安全漏洞的修复(#5259)。您可以查看安全公告,以获取有关漏洞和受影响平台的更多信息。
此版本对于升级来说是高优先级的。我们强烈建议您尽快升级。
错误修复
- #4804 当刷新作业的开始或结束为 null 时跳过分组
- #5108 修复压缩表索引中列的顺序不遵循多列分段的顺序
- #5187 默认情况下不要启用 clang-tidy
- #5255 修复在分层连续聚合中年份未被视为天/月的倍数
- #5259 在 SPI 调用中锁定 search_path
感谢
- @ssmoss 针对连续聚合报告问题
- @jaskij 报告了 clang 发生的编译问题
此版本包含自 2.9.1 版本以来的错误修复。我们建议您在下一次可用机会升级。
错误修复
- #5114 修复了在多节点上删除数据节点和删除数据库的问题
- #5133 修复了在时间列与原始超表的顺序不同的 CAgg 上创建 CAgg
- #5152 修复了将带有 NULL 约束的列添加到压缩超表
- #5170 修复了 CAgg 上的 CAgg 可变桶大小验证
- #5180 修复了多节点上默认数据节点可用性状态
- #5181 修复了带有 TidRangeScan 子计划的 ChunkAppend 和 ConstraintAwareAppend
- #5193 修复了在多节点上附加数据节点时的重新分区行为
此版本包含自 2.9.0 版本以来的错误修复。此版本对于升级来说是高优先级的。我们强烈建议您尽快升级。
错误修复
- #5072 修复了 CAgg 上的 CAgg 桶大小验证
- #5101 修复了对具有重命名列的 cagg 启用压缩
- #5106 修复了在 Windows 上针对 PG15 构建
- #5117 修复了后台工作程序退出时的 postgres 服务器重启
- #5121 修复了更新脚本中 job_errors 的权限
此版本自 2.8.1 版本以来添加了主要的新功能。我们认为它对于升级来说是中等优先级。
此版本包含以下值得注意的功能
- 分层连续聚合(也称为另一个连续聚合上的连续聚合)
- 改进
time_bucket_gapfill
函数以允许指定要分组的时区 - 引入后台作业的固定时间表以及检查作业错误的能力。
- 使用
alter_data_node()
更改数据节点配置。此函数引入了配置数据节点可用性的选项。
此版本还包含几个错误修复。
功能
- #4476 对访问节点上的分布式
COPY
进行批处理行 - #4567 当后台工作程序不足时指数退避
- #4650 当不遵循最佳实践时显示警告
- #4664 引入后台作业的固定时间表
- #4668 分层连续聚合
- #4670 为 time_bucket_gapfill 添加时区支持
- #4678 添加用于对作业故障进行故障排除的接口
- #4718 添加了在压缩时合并块的能力
- #4786 将 now() 优化扩展到也适用于 CURRENT_TIMESTAMP
- #4820 支持连接中的参数化数据节点扫描
- #4830 添加用于更改数据节点配置的函数
- #4966 处理数据节点不可用时的 DML 活动
- #4971 添加用于删除数据节点上的陈旧块的函数
错误修复
- #4663 当压缩元数据丢失时不要出错
- #4673 修复了 VIEW 的 now() 常量化
- #4681 修复了 compression_chunk_size 主键
- #4696 在超表上启用压缩时报告警告
- #4745 修复了在插入引用分区表的超表时发生的 FK 约束违规错误
- #4756 提高压缩作业的 IO 性能
- #4770 在发生错误后继续压缩其他块
- #4794 修复了在 timescaledb_internal.hypertable_local_size() 函数上看到的性能下降
- #4807 修复了在将 INSERT 插入压缩超表时发生的段错误
- #4822 修复了 CAGGs 中缺少 segmentby 压缩选项
- #4823 修复了在使用嵌套用户定义函数与超表时可能发生的崩溃
- #4840 修复了复制代码中的性能回归
- #4860 在一个查询中阻止多语句 DDL 命令
- #4898 修复了在尝试恢复时发生的 cagg 迁移失败
- #4904 在 DecompressChunk 中删除 BitmapScan 支持
- #4906 通过加速冻结块状态检查,修复了查询规划器中的性能回归
- #4910 修复了 process_compressed_data_out 中的错别字
- #4918 Cagg 迁移使 cagg 策略成为孤儿
- #4941 限制在 PostgreSQL 15 中使用旧格式(2.7 之前)的连续聚合。
- #4955 修复了使用无时区时间戳的超表的 cagg 迁移
- #4968 检查 gapfill 主循环中的中断
- #4988 修复了在刷新新创建的 cagg 时发生的 cagg 迁移崩溃
- #5054 修复了第二次 ANALYZE 后的段错误
- #5086 在无效的超表缓存上重置 baserel 缓存
感谢
- @byazici 报告了压缩 cagg 上 segmentby 的问题
- @jflambert 报告了嵌套用户定义函数的崩溃问题。
- @jvanns 报告了超表 FK 引用普通 PostgreSQL 分区表似乎不起作用
- @kou 修复了 process_compressed_data_out 中的错别字
- @kyrias 报告了在扩展查询协议模式下加载扩展后执行 ANALYZE 时发生的崩溃。
- @tobiasdirksen 请求在另一个连续聚合之上进行连续聚合
- @xima 报告了 Cagg 迁移中的错误
- @xvaara 在透明解压缩中帮助再现了位图扫描的错误
此版本是修补版本。我们建议您在下一次可用机会升级。
错误修复
- #4454 读取作业状态后保留锁
- #4658 修复了在枚举列上使用 compress_segmentby 查询压缩超表时的错误
- #4671 修复了在刷新 COPY 数据时可能发生的错误
- #4675 修复了错误的 TupleTableSlot 删除
- #4676 修复了在解压缩块和执行 SELECT 时发生的死锁
- #4685 修复了 SELECT FOR UPDATE 查询中空间分区对块的排除
- #4694 更改了 cagg_migrate 过程的参数名称
- #4698 不要对参数化计划使用逐行获取器
- #4711 删除了对过程作为自定义检查的支持
- #4712 修复了 constify_now 中的断言失败
- #4713 修复了连续聚合迁移策略
- #4720 修复了准备好的语句和目标更改对块的排除
- #4726 修复了 gapfill 函数签名
- #4737 修复了对压缩块的时间列的连接
- #4738 修复了等待远程 COPY 完成时的错误
- #4739 修复了连续聚合迁移检查约束
- #4760 修复了在 INNER JOIN 超表时发生的段错误
- #4767 修复了为 CAgg 创建索引时的权限问题
感谢
- @boxhock 和 @cocowalla 报告了在 JOIN 超表时发生的段错误
- @carobme 报告了连续聚合迁移期间的约束错误
- @choisnetm、@dustinsorensen、@jayadevanm 和 @joeyberkovitz 报告了在压缩超表上进行 JOIN 时出现的问题
- @daniel-k 报告了后台工作程序崩溃
- @justinpryzby 报告了在压缩非常宽的表时发生的错误
- @maxtwardowski 报告了块排除和空间分区的问题
- @yuezhihan 报告了在枚举列上使用 compress_segmentby 时发生的 GROUP BY 错误
此版本自 2.7.2 版本以来添加了主要的新功能。我们认为它对于升级来说是中等优先级。
此版本包含以下值得注意的功能
- time_bucket 现在支持按月、年和时区分组
- 提高分布式超表的批量 SELECT 和 COPY 性能
- 一步式连续聚合策略管理
- 将连续聚合迁移到新格式
功能
- #4188 在逐行获取器中使用 COPY 协议
- #4307 将 partialize_agg 标记为并行安全
- #4380 为 UPDATE/DELETE 中的空间维度启用块排除
- #4384 将 schedule_interval 添加到策略
- #4390 更快地通过点查找块
- #4393 在常量化 now() 时支持具有天组件的间隔
- #4397 在常量化 now() 时支持具有月组件的间隔
- #4405 支持超表的 ON CONFLICT ON CONSTRAINT
- #4412 添加有关复制的遥测数据
- #4415 在分离数据节点时删除远程数据
- #4416 处理块上的 TRUNCATE TABLE
- #4425 将参数 check_config 添加到 alter_job
- #4430 在连续聚合上创建索引
- #4439 允许在连续聚合上使用 ORDER BY
- #4443 添加有状态的分区映射
- #4484 为 COPY 使用非阻塞数据节点连接
- #4495 支持使用现有数据的 add_dimension()
- #4502 在块排除时将块添加到 baserel 缓存
- #4545 添加超表分布式参数和默认值
- #4552 将连续聚合迁移到新格式
- #4556 为超表添加运行时排除
- #4561 将 get_git_commit 更改为返回完整提交哈希
- #4563 一步式 CAgg 策略管理
- #4641 允许在 time_bucket 和 time_bucket_gapfill 中按月、年、世纪分组
- #4642 为 time_bucket 添加时区支持
错误修复
- #4359 在 segmentby 列上创建复合索引
- #4374 从计划中删除常量化 now() 约束
- #4416 处理块上的 TRUNCATE TABLE
- #4478 同步块缓存大小
- #4486 在压缩表上添加具有默认值的布尔列不起作用
- #4512 修复了未对齐的指针访问
- #4519 在不兼容的行获取器设置上抛出更好的错误消息
- #4549 修复了 Windows 上的 dump_meta_data
- #4553 修复了 timescaledb_post_restore GUC 处理
- #4573 在压缩数据输出调用时加载 TSL 库
- #4575 修复了在不可变函数内部使用
get_partition_hash
和get_partition_for_key
- #4577 修复了压缩代码中使用损坏数据时发生的段错误
- #4580 正确处理 CAgg 上的默认权限
- #4582 修复了 GRANT .. ON ALL TABLES IN SCHEMA 中的断言
- #4583 修复了分区函数
- #4589 修复了分布式超表的重命名
- #4601 当组重置时重置压缩序列
- #4611 修复了在将大型数据集加载到超表时可能发生的 OOM
- #4624 修复了堆缓冲区溢出
- #4627 修复了遥测数据初始化
- #4631 确保在数据库升级时加载 TSL 库
- #4646 修复了 time_bucket_ng 原点处理
- #4647 修复了在 RETURNING 子句中使用连接时发生的错误“SubPlan 发现没有父计划”。
感谢
- @AlmiS 报告了在不可变函数内部执行
get_partition_hash
时发生的错误 - @Creatation 报告了超表重命名时出现的问题
- @janko 报告了在压缩超表上添加具有默认值的布尔列时出现的问题
- @jayadevanm 报告了在压缩块上执行 TRUNCATE TABLE 时发生的错误
- @michaelkitson 报告了在连续聚合上使用默认权限时的权限错误
- @mwahlhuetter 报告了在 RETURNING 子句中的连接中发生的错误
- @ninjaltd 和 @mrksngl 报告了在将大型数据集加载到超表时可能发生的 OOM
- @PBudmark 报告了 Windows 上 dump_meta_data.sql 出现的问题
- @ssmoss 报告了 time_bucket_ng 原点处理出现的问题
此版本是修补版本。我们建议您在下一次可用机会升级。除了其他内容外,此版本还修复了几个内存泄漏,在 GapFill 中处理 TOASTed 值,以及在准备好的语句中处理参数。
错误修复
- #4517 修复 ChunkAppend 中的预处理语句参数处理
- #4522 修复对一组节点的分布式超表的 ANALYZE 操作
- #4526 修复 TOASTed 值的 gapfill 组比较
- #4527 正确处理范围类型统计信息
- #4532 修复函数遥测中的内存泄漏
- #4534 在 hash_create 中使用显式内存上下文
- #4538 修复具有非默认统计信息的超表上的块创建
感谢
- @3a6u9ka, @bgemmill, @hongquan, @stl-leonid-kalmaev 和 @victor-sudakov 报告了内存泄漏
- @hleung2021 和 @laocaixw 报告了预处理语句中参数处理的问题
错误修复
- #4494 在多节点环境中正确处理 TimescaleDB 版本
- #4493 执行 IMMUTABLE 函数时出现段错误
- #4482 修复块(解)压缩过程中的竞争条件
- #4367 改善复制操作符中的缓冲区管理
- #4375 如果默认排序列已设置,则不要请求
orderby
列 - #4400 对于 PG15+,使用我们自己的
find_em_expr_for_rel
实现 - #4408 修复插入分布式超表期间的崩溃
- #4411 添加
shmem_request_hook
- #4437 修复
subscription_exec
中的段错误 - #4442 修复复制/移动块的权限
- #4450 在
attach_data_node
上保留超表的拥有权 - #4451 随时修复数值部分状态
- #4463 修复分布式表中空字节数组的处理
- #4469 改善
move_chunk
的超级用户处理
功能
- #4244 函数遥测
- #4287 添加用于外部表块的内部 API
- #4470 如果块处于冻结状态,则阻止删除块
- #4464 添加内部 API,用于将超表与自定义作业关联
感谢
- @xin-hedera 发现分布式表中空字节数组值的错误
- @jflambert 报告了 IMMUTABLE 函数的错误
- @nikugogoi 报告了 CTE 和分布式超表上的更新操作的错误
此版本自 2.6.1 版本以来添加了许多重大新功能。我们认为升级的优先级适中。
此版本包含以下值得注意的功能
- 优化持续聚合查询的性能和存储
- 以下查询子句和函数现在可以在持续聚合中使用:FILTER、DISTINCT、ORDER BY 以及 有序集聚合 和 假设集聚合
- 优化 now() 查询的计划时间
- 改进 COPY 插入的性能
- 通过排除块,提高 PG14 上 UPDATE/DELETE 的性能
- 提高从压缩超表读取的性能,尤其是在使用 JIT 时。
此版本还包含几个错误修复。
如果您从先前版本升级,并且在 segmentby 列上使用非默认排序规则进行压缩,则应重新压缩这些超表。
功能
- #4045 CAGGs 中自定义来源的支持
- #4120 添加保留策略的日志记录
- #4158 允许直接在数据节点上执行 ANALYZE 命令
- #4169 为 PG14 的 DELETE 添加块排除支持
- #4209 为 PG14 的 UPDATE 添加块排除支持
- #4269 持续聚合的最终形式
- #4301 添加对 COPY 操作符中的批量插入的支持
- #4311 支持非超级用户移动块操作
- #4330 添加 GUC "bgw_launcher_poll_time"
- #4340 启用在计划时间块排除中使用 now()
错误修复
- #3899 修复持续聚合中的段错误
- #4225 修复超表上非所有者执行 TRUNCATE 时发生的错误
- #4236 修复使用非默认排序规则的压缩超表可能导致结果顺序错误的问题
- #4249 修复选项 "timescaledb.create_group_indexes"
- #4251 修复插入具有已删除列的压缩块
- #4255 修复选项 "timescaledb.create_group_indexes"
- #4259 修复扩展更新脚本中的逻辑错误
- #4269 修复 #4233 中报告的错误的持续聚合视图定义
- #4289 支持在数据节点之间移动压缩块
- #4300 修复 cagg 刷新策略的刷新窗口上限
- #4315 修复调度程序中的内存泄漏
- #4323 从信号处理程序中删除打印输出
- #4342 修复移动块清理逻辑
- #4349 修复使用 AlterTableInternal 的函数中的崩溃
- #4358 修复遥测报告器中的崩溃和其他问题
感谢
- @abrownsword 报告了遥测报告器中的错误并测试了修复程序
- @jsoref 修复了代码、注释和文档中的各种拼写错误
- @yalon 报告了对分布式超表执行 ALTER TABLE RENAME 时的错误
- @zhuizhuhaomeng 报告并修复了调度程序中的内存泄漏
此版本自 2.6.0 版本以来包含错误修复。此版本升级的优先级为中等。我们建议您在下次可用机会升级。
错误修复
- #4121 修复对分布式超表执行 RENAME TO/SET SCHEMA
- #4122 修复插入分布式超表时的段错误
- #4142 删除超表时忽略无效的 relid
- #4159 修复对压缩超表执行 ADD COLUMN IF NOT EXISTS 时的错误
- #4161 修复扫描期间的内存处理
- #4176 修复带参数化查询的远程 EXPLAIN
- #4181 修复拼写错误和遗漏
- #4186 修复分布式超表的拥有者更改
- #4192 扩展重新加载后中止会话
- #4193 修复 relcache 回调处理导致的崩溃
- #4199 从信号处理程序中删除信号不安全调用
- #4219 不要在完成时修改聚合状态
感谢
- @abrownsword 报告了遥测报告器中的崩溃
- @daydayup863 报告了远程 explain 的问题
此版本自 2.5.2 版本以来添加了许多重大新功能,包括
- 持续聚合中的压缩
- 持续聚合中时区的实验性支持
- 持续聚合中每月桶的实验性支持
它还包含几个错误修复。遥测报告已切换到新的格式,现在包含有关压缩、分布式超表和索引的更详细统计信息。我们认为此版本的升级优先级为中等。
功能
- #3768 允许在压缩超表上执行 ALTER TABLE ADD COLUMN with DEFAULT
- #3769 允许在压缩超表上执行 ALTER TABLE DROP COLUMN
- #3873 启用持续聚合的压缩
- #3943 优化 first/last
- #3945 添加对多节点环境中 ALTER SCHEMA 的支持
- #3949 添加对多节点环境中 DROP SCHEMA 的支持
- #3977 CAGGs 中的时区支持
错误修复
- #3808 正确处理
max_retries
选项 - #3863 修复远程事务修复逻辑
- #3869 修复对分布式超表执行 ALTER SET/DROP NULL 约束时的错误
- #3944 修复 add_compression_policy 中的段错误
- #3961 修复对分布式超表执行 EXPLAIN VERBOSE 时的崩溃
- #4015 消除插值中浮点数舍入不稳定性
- #4019 更新过渡状态中的 ts_extension_oid
- #4073 修复分区方案中的缓冲区溢出
改进
对于具有大量块的超表,查询计划性能有所提高。
感谢
- @fvannee 报告了 first/last 内存泄漏
- @mmouterde 报告了浮点数和插值的问题
此版本自 2.5.1 版本以来包含错误修复。此版本升级的优先级为高。我们强烈建议您尽快升级。
错误修复
- #3900 改进自定义扫描节点注册
- #3911 修复 GRANT 命令的 RoleType 解构
- #3918 修复带有一次性过滤器的 DataNodeScan 计划
- #3921 修复插入内部压缩表时的段错误
- #3938 修复 32 位平台上的 subtract_integer_from_now 并改善错误处理
- #3939 修复 time_bucket_gapfill 中的投影处理
- #3948 避免在数据获取器中使用双重 PGclear()
- #3979 修复索引谓词的解构
- #4020 修复 ALTER TABLE EventTrigger 初始化
- #4024 修复过早的缓存释放调用
- #4037 修复已删除但仍具有目录项的块的状态
- #4069 修复 ANY 结构中 riinfo 的 NULL 处理
- #4071 修复扩展安装权限提升(CVE-2022-24128)
感谢
- @carlocperez 报告了 ANY 结构中 NULL 处理的崩溃
- @erikhh 报告了 time_bucket_gapfill 的问题
- @kancsuki 报告了删除列和创建部分索引不起作用
- @mmouterde 报告了浮点数和插值的问题
- Pedro Gallegos 报告了扩展安装期间可能的权限提升
此版本自 2.5.0 版本以来包含错误修复。我们认为升级的优先级为中等。
错误修复
#3734 重构分布式 DDL 处理逻辑
#3737 修复不稳定的 pg_dump
#3739 修复使用 INTEGER 的表的压缩策略
#3766 修复 ts_hist_sfunc 中的段错误
#3789 修复 time_bucket 比较转换
#3799 修复正确安全标签上的错误打印输出
#3801 当数据节点无响应时,使大小实用程序函数失败
#3809 修复 fill_result_error() 中的 NULL 指针评估
#3819 修复从 TSConnectionError 读取垃圾值
#3824 针对 64 位体系结构从 CAGG 列表中删除指针
#3846 消除重新压缩块策略中的死锁
#3881 修复由于修剪的唯一路径导致的 SkipScan 崩溃
#3884 修复 create_distributed_restore_point 内存问题
感谢
@cbisnett 报告并修复了错误消息中的拼写错误
@CaptainCuddleCube 报告了使用 INTEGER 作为时间维度的表的压缩策略过程的错误
@phemmer 报告了多节点环境中的错误
功能
- #3034 添加对 PostgreSQL 14 的支持
- #3435 为分布式超表添加持续聚合
- #3505 添加对 time_bucket_ng() 中时区的支持
错误修复
- #3580 修复执行 TRUNCATE 时发生的内存上下文错误
- #3592 允许对分布式超表执行 alter column type
- #3598 改善访问节点上稳定函数(如 now())的评估
- #3618 修复从用户操作执行 refresh_caggs
- #3625 创建块时添加共享依赖项
- #3626 修复执行 TRUNCATE 时发生的内存上下文错误
- #3627 在多节点环境中对 UDT 进行模式限定
- #3638 允许更改数据节点的所有者
- #3654 修复 reorder_chunk 中的索引 attnum 映射
- #3661 修复使用常量 DISTINCT 列时的 SkipScan 路径生成
- #3667 修复多事务处理的 compress_policy
- #3673 修复在过程内执行分布式超表的 DROP
- #3701 允许任何人对分布式超表使用大小实用程序
- #3708 修复 get_aggsplit 中的崩溃
- #3709 修复有序追加 pathkey 检查
- #3712 修复 GRANT/REVOKE ALL IN SCHEMA 处理
- #3717 支持对单个块进行透明解压缩
- #3724 修复在具有 cagg 的超表上向压缩块进行插入
- #3727 修复 distributed_exec 中的 DirectFunctionCall 崩溃
- #3728 修复带 varchar 列的 SkipScan
- #3733 修复使用自定义类型在多节点环境中执行 ANALYZE 时发生的崩溃
- #3747 始终在 DecompressChunk 中重置 expr 上下文
感谢
- @binakot 和 @sebvett 报告了 DISTINCT 查询的问题
- @hardikm10、@DavidPavlicek 和 @pafiti 报告了 TRUNCATE 的错误
- @mjf 报告了有序追加和 JOIN 的问题
- @phemmer 报告了多节点环境中聚合查询和 now() 评估的问题
- @abolognino 报告了在具有 cagg 的压缩超表上执行 INSERT 的问题
- @tanglebones 报告了在多节点环境中使用自定义类型执行 ANALYZE 时的崩溃
此版本自 2.4.1 版本以来包含错误修复。我们认为升级的优先级为高。
错误修复
- #3437 对所有持续聚合对象执行重命名
- #3469 在信号处理程序中使用信号安全的函数
- #3520 修改压缩作业处理逻辑
- #3527 修复使用 origin 参数时的 time_bucket_ng 行为
- #3532 修复禁用 regresschecks 时的引导
- #3574 修复后台工作进程执行作业失败
- #3590 在后端退出时调用清理函数
感谢
- @jankatins 报告了后台工作进程的崩溃
- @LutzWeischerFujitsu 报告了引导的问题
错误修复
- #3430 修复持续聚合的 havingqual 处理
- #3468 如果未找到工具,则默认情况下禁用测试
- #3462 修复跟踪 alter table 命令时的崩溃
- #3494 改进添加数据节点时的错误消息
- #3489 修复 PG 12.8 和 13.4 的持续聚合 bgw 作业失败
感谢
- @brianbenns 报告了持续聚合的段错误
实验性功能
- #3293 添加 timescaledb_experimental 模式
- #3302 添加 block_new_chunks 和 allow_new_chunks API 到实验性模式。添加基于块的 refresh_continuous_aggregate。
- #3211 引入实验性 time_bucket_ng 函数
- #3366 允许在持续聚合中使用实验性 time_bucket_ng 函数
- #3408 支持 time_bucket_ng 中的秒、分钟和小时
错误修复
- #3401 修复没有 fdw_private 的 RelOptInfo 的段错误
- #3411 验证压缩路径的压缩块有效性
- #3416 针对连续聚合视图修复目标列表名称
- #3434 从 relcache 失效回调中移除扩展检查
- #3440 修复 remote_tx_heal_data_node 以便仅与当前数据库配合使用
感谢
- @fvannee 报告了关于超表扩展在函数中存在问题
- @amalek215 报告了关于 pg_class vacuum full 期间缓存失效存在问题
- @hardikm10 报告了关于插入压缩块存在问题
- @dberardo-com 和 @iancmcc 报告了关于重命名连续聚合列后扩展更新存在问题。
此维护版本包含自 2.3.0 版本发布以来的错误修复。我们认为升级的优先级中等。
错误修复
- #3279 在块分配中添加更多随机性
- #3288 修复使用并行工作进程时更新失败的问题
- #3300 改进分布式超表的触发器处理
- #3304 移除引用压缩块父 relids 的路径
- #3305 修复 pull_varnos 对 relids 集的错误计算
- #3310 生成降级脚本
- #3314 修复超表扩展中堆缓冲区溢出
- #3317 修复远程连接缓存中堆缓冲区溢出。
- #3327 使 caggs 中的聚合完全限定
- #3336 修复 pg_init_privs objsubid 处理
- #3345 修复 SkipScan 不同列识别
- #3355 修复重命名压缩超表列时堆缓冲区溢出。
- #3367 改进 DecompressChunk qual 下推
- #3377 修复对 repalloc 的错误使用
感谢
- @db-adrian 报告了通过 postgres_fdw 访问 cagg 视图时存在问题
- @fncaldas 和 @pgwhalen 报告了当 public 不在 search_path 中时访问 caggs 存在问题
- @fvannee、@mglonnro 和 @ebreijo 报告了升级脚本存在问题
- @fvannee 报告了 SkipScan 存在性能倒退
功能
- #3116 添加分布式超表压缩策略
- #3162 执行分布式 INSERT 时使用 COPY
- #3199 在分布式超表上添加 GENERATED 列支持
- #3210 在分布式超表上添加触发器支持
- #3230 支持插入压缩块
错误修复
- #3213 将授权传播到压缩超表
- #3229 更新块时使用正确的锁模式
- #3243 修复 decompress_chunk_plan_create 中断言失败
- #3250 修复超表上的约束触发器
- #3251 修复由于错误调用 chunk_scan_internal 导致的段错误
- #3252 修复使用转换表的阻塞触发器
感谢
- @yyjdelete 报告了使用 decompress_chunk 导致崩溃,并确定了代码中的错误
- @fabriziomello 记录了针对 PostgreSQL 13 编译时的先决条件
此维护版本包含自 2.2.0 版本发布以来的错误修复。我们认为升级的优先级很高。
此版本将 Skip Scan 扩展到多节点,方法是启用将 DISTINCT
下推到数据节点。它还修复了 Skip Scan、分布式超表、索引创建、压缩和策略实现中的许多错误。
功能
- #3113 将 “SELECT DISTINCT” 下推到多节点以允许使用 Skip Scan
错误修复
- #3101 在
get_git_commit()
中使用提交日期 - #3102 修复分布式超表的
REINDEX TABLE
- #3104 修复
add_reorder_policy
中的“使用后释放”问题 - #3106 修复
chunk_api_get_chunk_stats
中的“使用后释放”问题 - #3109 在更新时复制重新创建的对象权限
- #3111 修复
CMAKE_BUILD_TYPE
检查 - #3112 使用
%u
格式化 Oid 而不是%d
- #3118 修复缓存中的“使用后释放”问题
- #3123 修复使用
REINDEX TABLE CONCURRENTLY
时崩溃的问题 - #3135 修复
DISTINCT
查询中包含表达式的 SkipScan 路径生成 - #3146 修复没有 pathkey 的 IndexPath 的 SkipScan
- #3147 如果 AppendPath 没有子节点,则跳过 ChunkAppend
- #3148 使
SELECT DISTINCT
处理非 var 目标列表 - #3151 修复
DELETE
上的fdw_relinfo_get
断言失败 - #3155 从 PostgreSQL 继承
CFLAGS
- #3169 修复压缩策略中的错误类型转换
- #3183 修复 calculate_chunk_interval 中的段错误
- #3185 修复基于整数的保留策略的错误数据类型
感谢
- @Dead2、@dv8472 和 @einsibjarni 报告了多节点查询和视图存在问题
- @aelg 报告了基于整数的超表的策略存在问题
- @hperez75 报告了 Skip Scan 存在问题
- @nathanloisel 报告了关于基于整数时间戳的超表压缩存在问题
- @xin-hedera 修复了关于基于整数时间戳的超表压缩存在问题
此版本自 2.1.1 版本发布以来添加了主要的新功能。我们认为升级的优先级中等。
此版本添加了 Skip Scan 优化,这显著提高了包含 DISTINCT ON 的查询的性能。此优化尚未适用于分布式超表上的查询。
此版本还添加了一个用于创建分布式还原点的函数,该函数允许从备份中执行多节点集群的一致还原。
此版本中的错误修复解决了大小和统计函数、分布式插入中的高内存使用率、缓慢的分布式 ORDER BY 查询、包含 INCLUDE 的索引和单个块查询规划问题。
PostgreSQL 11 弃用公告
Timescale 正在努力开发我们的下一个激动人心的功能。为了实现这一目标,我们需要一些功能,但遗憾的是这些功能在 PostgreSQL 11 中不存在。因此,我们将继续支持 PostgreSQL 11,直到 2021 年 6 月中旬。在此之前,我们将宣布在 TimescaleDB 的哪个版本中放弃对 PostgreSQL 11 的支持。
主要功能
- #2843 添加分布式还原点功能
- #3000 SkipScan 提高 SELECT DISTINCT 速度
错误修复
- #2989 重构和强化大小和统计函数
- #3058 减少分布式插入的内存使用率
- #3067 修复极度缓慢的多节点排序查询
- #3082 修复块索引列名称映射
- #3083 在 ChunkAppend 中保留 Append pathkeys
感谢
- @BowenGG 报告了包含 INCLUDE 的索引存在问题
- @fvannee 报告了 ChunkAppend pathkeys 存在问题
- @pedrokost 和 @RobAtticus 报告了关于空超表上的大小函数存在问题
- @phemmer 和 @ryanbooz 报告了关于缓慢的多节点排序查询存在问题
- @stephane-moreau 报告了关于在分布式超表上进行单事务插入时高内存使用率的问题。
此维护版本包含自 2.1.0 版本发布以来的错误修复。我们认为升级的优先级很高。
此版本中的错误修复解决了超表、自定义作业和间隙填充查询的 CREATE INDEX 和 UPSERT 问题。
此版本将 TimescaleDB 标记为 PG13 中的可信扩展,因此不再需要超级用户权限来安装扩展。
次要功能
- #2998 将 timescaledb 标记为可信扩展
错误修复
- #2948 修复直方图反序列化中的偏移量为 4 的错误
- #2974 修复具有已删除列的超表的索引创建
- #2990 修复 job_config_check 中针对 cagg 的段错误
- #2987 修复由于 emit_log_hook_callback 中的事务导致的崩溃
- #3042 提交 CREATE INDEX 的结束事务
- #3053 修复间隙填充/hashagg 规划器交互
- #3059 修复具有默认值的列的超表的 UPSERT
感谢
- @eloyekunle 和 @kitwestneat 报告了 UPSERT 存在问题
- @jocrau 报告了索引创建存在问题
- @kev009 修复了编译问题
- @majozv 和 @pehlert 报告了 time_bucket_gapfill 存在问题
此版本自 2.0.2 版本发布以来添加了主要的新功能。我们认为升级的优先级中等。
此版本为 TimescaleDB 添加了期待已久的 PostgreSQL 13 支持。由于影响 TimescaleDB 功能的安全性漏洞存在于早期版本的 PostgreSQL 13 中,因此要求的最小 PostgreSQL 13 版本为 13.2。
此版本还放宽了压缩超表的一些限制;也就是说,TimescaleDB 现在支持向压缩超表添加列,以及重命名压缩超表的列。
主要功能
- #2779 添加对 PostgreSQL 13 的支持
次要功能
- #2736 支持向启用压缩的超表添加列
- #2909 支持重命名启用压缩的超表的列
此维护版本包含自 2.0.1 版本发布以来的错误修复。我们认为升级的优先级很高。
此版本中的错误修复解决了连接、后台作业状态和禁用压缩问题。它还包括对连续聚合的增强,包括改进的策略验证和优化,以便在存在大量失效时更快地刷新。
次要功能
- #2926 针对少量失效优化 cagg 刷新
错误修复
- #2850 设置后台作业中后端的狀態
- #2883 修复嵌套连接的连接 qual 传播
- #2884 添加 GUC 以控制连接 qual 传播
- #2885 修复禁用压缩时压缩块检查
- #2908 修复更改集群超表的列类型
- #2942 验证连续聚合策略
感谢
- @zeeshanshabbir93 报告了连接存在问题
- @Antiarchitect 报告了关于连续聚合的缓慢刷新存在问题。
- @diego-hermida 报告了关于无法禁用压缩的问题
- @mtin 报告了关于错误作业状态的问题
此维护版本包含自 1.7.4 版本发布以来的错误修复。大多数修复是从 2.0.0 和 2.0.1 版本移植回来的。我们认为对于使用 TimescaleDB 1.7.4 或更早版本的用户来说,升级的优先级很高。
特别是此维护版本中包含的修复解决了连续聚合、压缩、使用超表的 JOIN 以及从先前版本升级时存在的问题。
错误修复
- #2502 更新时替换检查函数
- #2558 更新时修复维度切片表
- #2619 修复针对具有已删除列的块的 decompress_chunk 中的段错误
- #2664 修复对复杂聚合表达式的支持
- #2800 创建新块时锁定维度切片
- #2860 修复 ChunkAppend 节点中的投影
- #2865 在 decompresschunk 上应用易变函数 qual
- #2851 修复涉及压缩块的嵌套循环连接
- #2868 修复间隙填充计划中的损坏
- #2883 修复嵌套连接的连接 qual 传播
- #2885 修复禁用压缩时压缩块检查
- #2920 修复更新脚本中的修复
感谢
- @akamensky 报告了几个问题,包括版本更新后的段错误
- @alex88 报告了连接超表存在问题
- @dhodyn 报告了连接压缩块存在问题
- @diego-hermida 报告了禁用压缩存在问题
- @Netskeh 报告了连续聚合中 time_bucket 问题上的错误
- @WarriorOfWire 报告了间隙填充查询无法找到 pathkey 项目进行排序的错误
- @zeeshanshabbir93 报告了连接存在问题
此维护版本包含自 2.0.0 版本发布以来的错误修复。我们认为升级的优先级很高。
特别是此维护版本中包含的修复解决了连续聚合、压缩、使用超表的 JOIN 以及从先前版本升级时存在的问题。
错误修复
- #2772 始终验证现有数据库和扩展
- #2780 修复远程数据获取器的配置枚举项
- #2806 添加更新时已删除块的检查
- #2828 改进 cagg 水印缓存
- #2838 修复更新脚本中的目录修复
- #2842 设置 next_start 字段时不要将作业标记为已启动
- #2845 修复升级期间的连续聚合权限
- #2851 修复涉及压缩块的嵌套循环连接
- #2860 修复 ChunkAppend 节点中的投影
- #2861 从更新脚本中移除压缩统计更新
- #2865 在 decompresschunk 节点上应用易变函数 qual
- #2866 避免对 partialize_agg 进行分区规划
- #2868 修复间隙填充计划中的损坏
- #2874 修复由于未初始化的内存导致的分区聚合崩溃
感谢
- @alex88 报告了连接超表存在问题
- @brian-from-quantrocket 报告了扩展更新和已删除块存在问题
- @dhodyn 报告了连接压缩块存在问题
- @markatosi 报告了启用分区聚合时段错误
- @PhilippJust 报告了 add_job 和 initial_start 存在问题
- @sgorsh 报告了在 Windows 上使用 pgAdmin 时存在问题
- @WarriorOfWire 报告了间隙填充查询无法找到 pathkey 项目进行排序的错误
随着此版本的发布,我们正式将 TimescaleDB 2.0 推出 GA,结束多个候选发布。
TimescaleDB 2.0 添加了备受期待的分布式超表支持(多节点 TimescaleDB),以及对核心功能的新功能和增强,为用户提供了更好的清晰度,以及对数据的更多控制和灵活性。
多节点架构:特别是,使用 TimescaleDB 2.0,用户现在可以跨多个 TimescaleDB 实例创建分布式超表,配置为一个实例充当访问节点,而多个其他实例充当数据节点。针对分布式超表的所以查询都发出到访问节点,但插入的数据和查询会向下推送到各个数据节点以实现更大的规模和性能。
多节点 TimescaleDB 可以自行管理,也可以在 Timescale 的完全托管云服务中启动,以简化操作。
此版本还添加了
- 对用户定义操作的支持,允许用户定义、自定义和安排自动任务,这些任务可以由现在公开给用户的内置作业调度框架运行。
- 对连续聚合进行了重大更改,现在将视图创建与策略分开。用户现在可以刷新连续聚合物化视图的各个区域,或者通过策略安排自动刷新。
- 重新设计的资料视图,包括用于获取有关超表的维度和块、策略和用户定义操作的信息的新(更通用)视图,以及对多节点 TimescaleDB 的支持。
- 将所有以前企业版的功能移到社区版,并更新 Timescale 许可证,该许可证现在为用户和开发人员提供了更多(更宽松的)权限。
以上一些更改(例如连续聚合、更新的资料视图)确实引入了对 API 的重大更改,并且不向后兼容。虽然 TimescaleDB 2.0 中的更新脚本会自动升级运行 TimescaleDB 1.x 的数据库,但这些 API 和功能更改中的一部分可能需要更改依赖于先前 API 的客户端和/或上游脚本。在升级之前,我们建议您在 docs.timescale.com 上查看升级文档以获取更多详细信息。
主要功能
TimescaleDB 2.0 将以下主要功能移至 GA
- #1923 添加对分布式超表的支持
- #2006 添加对用户定义操作的支持
- #2125 #2221 改善连续聚合 API
- #2084 #2089 #2098 #2417 重新设计资料视图
- #2435 将企业功能移到社区版
- #2437 更新 Timescale 许可证
之前的候选版本
- #2702 候选版本 4(2020 年 12 月 2 日)
- #2637 候选版本 3(2020 年 11 月 12 日)
- #2554 候选版本 2(2020 年 10 月 20 日)
- #2478 候选版本 1(2020 年 10 月 1 日)
次要功能
自上次候选版本 4 以来,有几个小的改进
- #2746 优化创建块 API 的锁定
- #2705 在分布式超表上阻止 tableoid 访问
- #2730 不允许在压缩的超表上使用唯一索引
- #2764 使用版本化的扩展引导数据节点
错误修复
自上次候选版本 4 以来,有几个错误修复
- #2719 支持在分布式超表上禁用压缩
- #2742 修复分布式块的块视图中的压缩状态
- #2751 修复添加数据节点时的崩溃和取消
- #2763 修复超表元数据表的检查约束
感谢
感谢所有为 TimescaleDB 2.0 版本做出贡献的人
- @airton-neto 报告了使用 UNION 执行某些查询时出现的错误
- @nshah14285 报告了在传播权限时出现的错误
- @kalman5 报告了在重命名约束时出现的错误
- @LbaNeXte 报告了使用子查询进行解压缩时出现的错误
- @semtexzv 报告了在基于 int 的超表上使用连续聚合时出现的错误
- @mr-ns 报告了在创建块时出现的权限问题
- @cloud-rocket 报告了在连续聚合上设置所有者时出现的错误
- @jocrau 报告了在创建具有每个块事务的索引时出现的错误
- @fvannee 报告了自定义时间类型的问题
- @ArtificialPB 报告了在压缩超表上执行具有条件排序的查询时出现的错误
- @dutchgecko 报告了连续聚合数据类型处理的问题
- @lambdaq 建议改进连续聚合创建中的错误消息
- @francesco11112 报告了 COPY 中出现的内存问题
- @Netskeh 报告了连续聚合中 time_bucket 问题上的错误
- @mr-ns 报告了分布式超表上 CTE 的问题
- @akamensky 报告了递归缓存失效的问题
- @ryanbooz 报告了在连续聚合上使用实时聚合时出现的查询缓慢问题
- @cevian 报告了在分布式超表上禁用压缩的问题
此候选版本包含自上次候选版本以来的错误修复以及其他次要功能。它改进了对后台作业配置更改的验证,增加了对分布式表上 gapfill 的支持,包含了对大规模 COPY 的内存处理的改进,以及对分布式超表的压缩进行了改进。
次要功能
- #2689 检查 alter_job 和 add_job 中的配置
- #2696 支持分布式超表上的 gapfill
- #2468 在 get_git_commit 中显示更多信息
- #2678 将用户操作包含在作业统计视图中
- #2664 修复对复杂聚合表达式的支持
- #2672 将超表添加到连续聚合视图
- #2662 在访问节点上保存压缩元数据设置
- #2707 为数据节点引导引入其他 db
错误修复
- #2688 修复了并发删除和压缩块时的崩溃
- #2666 修复了异步库中的超时处理
- #2683 修复了在给定 NULL 间隔时 add_job 中的崩溃
- #2698 改进了远程 COPY 的内存处理
- #2555 为在 2.0 之前压缩的块设置元数据
感谢
- @francesco11112 报告了 COPY 中出现的内存问题
- @Netskeh 报告了连续聚合中 time_bucket 问题上的错误
此候选版本包含自上次候选版本以来的错误修复,以及其他次要功能,包括对访问节点/数据节点之间“用户映射”身份验证的支持,以及一个用于刷新单个块上的连续聚合的实验性 API。
次要功能
- #2627 添加可选的用户映射支持
- #2635 添加用于刷新块上的连续聚合的 API
错误修复
- #2560 修复了带有连续聚合的 SCHEMA DROP CASCADE
- #2593 在 alter_job 中显式设置所有锁定参数
- #2604 修复了在具有外键约束的超表上创建块
- #2610 支持分析内部压缩表
- #2612 优化内部 cagg_watermark 函数
- #2613 在删除时刷新正确的部分
- #2617 修复了数据节点上可用扩展的验证
- #2619 修复针对具有已删除列的块的 decompress_chunk 中的段错误
- #2620 修复了连续聚合的 DROP CASCADE
- #2625 修复了使用 AsyncAppend 时出现的子查询错误
- #2626 修复了压缩扫描的错误 total_table_pages 设置
- #2628 停止缓存失效中的递归
感谢
- @mr-ns 报告了分布式超表上 CTE 的问题
- @akamensky 报告了递归缓存失效的问题
- @ryanbooz 报告了在连续聚合上使用实时聚合时出现的查询缓慢问题
此候选版本包含自上次候选版本以来的错误修复。
次要功能
- #2520 支持非事务性 distributed_exec
错误修复
- #2307 针对使用整数时间进行刷新的策略的溢出处理
- #2503 删除了数据节点正确引导的错误
- #2507 修复了添加新数据节点时的验证逻辑
- #2510 修复了外部联接限定符传播
- #2514 在创建新块时锁定维度切片
- #2515 向 detach_data_node() 添加 if_attached 参数
- #2517 修复了 chunk_update_colstats 中未对齐地址内的成员访问
- #2525 修复了在具有已删除列的超表上创建索引
- #2543 将正确状态传递给 lock_job
- #2544 假设自定义时间类型的范围与 bigint 相同
- #2563 修复了 DecompressChunk 路径生成
- #2564 改进了连续聚合数据类型处理
- #2568 更改了 ssl_dir GUC 的使用
- #2571 使错误和消息符合样式指南
- #2577 从 ANALYZE/VACUUM 中排除压缩块
此版本自 1.7.4 版本以来添加了主要的新功能和错误修复。我们认为将其升级为中等优先级。
此版本为 TimescaleDB 添加了期待已久的分布式超表支持。使用 2.0,用户可以在 TimescaleDB 的多个实例之间创建分布式超表,这些实例配置为一个实例充当访问节点,而其他多个实例充当数据节点。所有针对分布式超表的查询都将发送到访问节点,但插入的数据和查询将被推送到数据节点,以实现更大的规模和性能。
此版本还添加了对用户定义操作的支持,允许用户定义由 TimescaleDB 自动化框架运行的操作。
除了这些主要的新功能之外,2.0 分支还引入了对 API 和现有功能(如连续聚合)的重大更改。这些更改不向后兼容,可能需要更改依赖于先前 API 的客户端和/或脚本。请查看我们更新的文档,并进行适当的测试以确保与现有应用程序兼容。
API 中明显的重大更改是
- 重新定义了策略的函数
- 连续聚合现在使用
CREATE MATERIALIZED VIEW
而不是CREATE VIEW
创建,自动刷新需要通过add_continuous_aggregate_policy
添加策略 - 重新设计了资料视图,包括用于获取有关策略和用户定义操作的信息的新(更通用)视图
此候选版本是可升级的,因此如果您使用的是以前的版本(例如 1.7.4),则可以升级到候选版本,并期望以后能够升级到最终的 2.0 版本。但是,请在升级之前仔细考虑您的兼容性要求。
主要功能
- #1923 添加对分布式超表的支持
- #2006 添加对用户定义操作的支持
- #2435 将企业功能移到社区版
- #2437 更新 Timescale 许可证
次要功能
- #2011 在约束中将 TIMESTAMPTZ OP INTERVAL 设为常量
- #2105 支持移动压缩块
错误修复
- #1843 改善对“已删除”块的处理
- #1886 更改 ChunkAppend 领导者以使用工作程序子计划
- #2116 从超表传播权限到块
- #2263 修复了 time_bucket 优化中的时间戳溢出
- #2270 修复了 gapfill 中对非引用计数 TupleDescs 的处理
- #2325 修复了重命名约束/重命名索引
- #2370 修复了对子查询中超表的检测
- #2376 修复了基于 int 的超表上的 caggs 宽度表达式处理
- #2416 检查创建块的插入权限
- #2428 允许更改连续聚合的所有者
- #2436 在连续聚合中传播授权
此维护版本包含自 1.7.3 版本以来的错误修复。如果 TimescaleDB 是使用副本(同步或异步)部署的,则我们认为将其升级为高优先级。
特别是此维护版本中包含的修复程序解决了在备用节点上运行压缩超表的查询时出现的问题。
错误修复
- #2336 在选择路径上删除元组锁定
此版本的音乐是 Rufus 和 Chaka Khan 在 1974 年发行的经典专辑 _Rags to Rufus_。
此维护版本包含自 1.7.2 版本以来的错误修复。我们认为将其升级为高优先级。
特别是此维护版本中包含的修复程序解决了压缩、drop_chunks 和后台工作程序调度程序中的问题。
错误修复
- #2059 改进了从 gapfill 查询推断开始和结束参数
- #2067 支持移动压缩块
- #2068 将 SET TABLESPACE 应用于压缩块
- #2090 修复了使用 IF NOT EXISTS 为现有索引创建索引
- #2092 修复了涉及包含压缩的超表的表的删除
- #2164 修复了遥测 installed_time 格式
- #2184 修复了后台工作程序调度程序的内存消耗
- #2222 修复了解压缩中的“负位图集成员不允许”
- #2255 从超表传播权限到块
- #2256 修复了 chunk_append 中带有空间分区时的段错误
- #2259 修复了缓存处理中的递归
- #2261 在扫描时锁定维度切片元组
感谢
- @akamensky 报告了 drop_chunks 和 ChunkAppend 带有空间分区时的错误
- @dewetburger430 报告了为压缩块设置表空间时的错误
- @fvannee 报告了缓存失效时的错误
- @nexces 报告了在空间分区超表上使用 ChunkAppend 时的错误
- @PichetGoulu 报告了创建索引和 IF NOT EXISTS 时的错误
- @prathamesh-sonpatki 为修复错别字做出了贡献
- @sezaru 报告了后台工作程序调度程序内存消耗问题
此版本的音乐是 Bob Dylan 的 _Blonde on Blonde_。
此维护版本包含自 1.7.1 版本以来的错误修复。我们认为将其升级为中等优先级。
特别是此维护版本中包含的修复程序解决了连续聚合、drop_chunks 和压缩中的错误。
功能
- #1877 添加了对内联函数的快速修剪的支持
错误修复
- #1908 修复了在 cascade_to_materializations 为 false 时带有唯一约束的 drop_chunks
- #1915 检查 extension_current_state 中的数据库
- #1918 统一块索引创建
- #1932 更改压缩锁定顺序
- #1938 修复了 gapfill locf treat_null_as_missing
- #1982 提前检查禁用的遥测
- #1984 修复了压缩位数组左移计数
- #1997 添加了对只读事务的检查
- #2002 重置恢复 gucs 而不是显式设置为“off”
- #2028 修复了 drop_chunks 中的锁定
- #2031 为具有复合外键的表启用压缩
- #2039 修复了 create_trigger_handler 中的段错误
- #2043 修复了 cagg_update_view_definition 中的段错误
- #2046 在块创建期间使用索引表空间
- #2047 更好地处理块插入状态销毁
- #2049 修复 DecompressChunk 中 PlaceHolderVar 的处理方式
- #2051 修复使用多个连续聚合时元组并发删除错误
感谢
- @akamensky 发现了有关遥测和 drop_chunks 的问题
- @darko408 发现了有关解压缩的问题
- @Dmitri191 发现了有关后台工作进程失败的问题
- @eduardotsj 发现了有关索引未继承表空间设置的问题
- @FourSeventy 发现了有关多个连续聚合的问题
- @fvannee 为内联函数修剪贡献了优化
- @jflambert 发现了有关遥测作业失败的问题
- @nbouscal 发现了有关压缩作业锁定引用表的的问题
- @Nicolai6120 发现了有关 locf 和 treat_null_as_missing 的问题
- @NomAnor 发现了有关带有表引用的表达式索引的问题
- @Olernov 为压缩具有复合外键的表贡献了修复
- @werjo 发现了有关 drop_chunks 和唯一约束的问题
此版本使用的音乐是 David Bowie 的《太空奇遇记:Ziggy Stardust 的兴衰》。
此维护版本包含自 1.7.0 版本以来的错误修复。我们认为升级到此版本具有中等优先级,对于使用多个连续聚合的用户而言,升级具有高优先级。
特别是,此维护版本中包含的修复程序解决了与实时聚合和 PostgreSQL 12 支持相关的连续聚合中的错误。
错误修复
- #1834 为 Windows 定义 strerror()
- #1846 修复 COPY 到超表时的段错误
- #1850 修复由于作业的 next_start_time 错误导致的调度程序故障
- #1851 修复 UNION ALL 对超表的扩展
- #1854 修复重新排序策略作业以跳过压缩块
- #1861 修复压缩超表中限定符具有强制转换时的限定符下推
- #1864 修复并行 ChunkAppend 中子计划选择问题
- #1868 添加对实时聚合使用 WHERE 和 HAVING 子句的支持
- #1869 修复对多个连续聚合的实时聚合支持
- #1871 不要依赖 timescaledb.restoring 进行升级
- #1875 修复子查询中的超表检测
- #1884 修复对空表使用 SELECT WHERE NOT 时的崩溃
感谢
- @airton-neto 发现了有关在超表联合上的查询问题
- @dhodyn 发现了有关 UNION ALL 查询的问题
- @frostwind 发现了有关在压缩超表上使用 where 子句中的强制转换的问题
- @fvannee 发现了有关内联 SQL 函数中的超表检测和 COPY 问题
- @hgiasac 发现了实时聚合中缺少 where 子句的问题
- @louisth 发现了有关实时聚合和多个连续聚合的问题
- @michael-sayapin 发现了有关 INSERT 和 WHERE NOT EXISTS 的问题
- @Olernov 报告并修复了重新排序策略中压缩块的问题
- @pehlert 发现了有关 pg_upgrade 的问题
此版本使用的音乐是滚石乐队的《粘性手指》。
自 1.6.1 版本以来,此版本添加了主要的新功能和错误修复。我们认为升级到此版本具有中等优先级。
此版本将期待已久的 PostgreSQL 12 支持添加到 TimescaleDB 中。
此版本还添加了一种在查询连续聚合时的新默认行为,我们称之为实时聚合。现在,对连续聚合的查询将已物化的数据与尚未物化的最新数据结合起来。
请注意,只有新创建的连续聚合才具有此实时查询行为,虽然可以通过以下配置设置在现有连续聚合上启用它:
ALTER VIEW continuous_view_name SET (timescaledb.materialized_only=false);
此版本还将几个数据管理生命周期功能从 TimescaleDB 的企业版(从企业版)迁移到社区版,包括数据重新排序和数据保留策略。
**弃用通知:**请注意,随着 Timescale 1.7 的发布,我们将弃用对 PostgreSQL 9.6.x 和 10.x 的支持。当前计划是,今年晚些时候发布的 Timescale 2.0 版本只支持 PostgreSQL 主版本 11.x、12.x 或更高版本。
主要功能
- #1807 添加对 PostgreSQL 12 的支持
- #1685 添加对连续聚合的实时聚合支持
错误修复
- #1665 将 ignore_invalidation_older_than 添加到 timescaledb_information.continuous_aggregates 视图
- #1750 处理未定义的 ignore_invalidation_older_than
- #1757 将连续聚合的水印限制为最大值
- #1769 将 rescan 函数添加到 CompressChunkDml CustomScan 节点
- #1785 修复 continuous_aggregate_stats 视图中的 last_run_success 值
- #1801 将并行 leader 包含在计划执行中
- #1808 修复压缩表的 ts_hypertable_get_all
- #1828 忽略压缩_chunk_stats 中已删除的块
**许可证变更** 围绕重新排序和删除块的重新排序和策略现在可供社区用户使用,而不仅仅是企业 Gapfill 功能不再警告许可证已过期
感谢
- @t0k4rt 发现了有关并行块追加计划的问题
- @alxndrdude 发现了尝试插入压缩块时出现的问题
- @Olernov 报告并修复了压缩超表中 show_chunks 和 drop_chunks 的问题
- @mjb512 发现了有关缓存计划中 CTE 中的 INSERT 的问题
- @dmarsh19 报告并修复了压缩_chunk_stats 中已删除块的问题
此维护版本包含自 1.6.0 版本以来的错误修复。我们认为升级到此版本具有中等优先级。
特别是,此维护版本中包含的修复程序解决了连续聚合、time_bucket_gapfill、部分索引处理和 drop_chunks 中的错误。
仅对于此版本,您需要在升级后重新启动数据库,然后再还原备份。
次要功能
- #1666 支持连续聚合的 drop_chunks API
- #1711 更改连续聚合物化消息的日志级别
错误修复
- #1630 打印超表上的 COPY TO 的通知
- #1648 从物化超表中删除块
- #1668 如果超表具有空块,则无法添加维度
- #1673 修复中断 create_hypertable 时的崩溃
- #1674 修复 time_bucket_gapfill 与 GROUP BY 的交互
- #1686 修复对具有字符段分隔列的压缩超表进行排序查询
- #1687 修复在存在外键时禁用压缩的问题
- #1688 更好地处理许多 BGW 作业
- #1698 添加逻辑以忽略 hypertable_relation_size 中已删除的块
- #1704 修复连续聚合物化的错误计划
- #1709 阻止使用 NOLOGIN 启动后台工作进程
- #1713 修复各种后台工作进程问题
- #1715 修复外连接中过于激进的块排除问题
- #1719 修复还原/调度程序入口点以避免 BGW 死亡
- #1720 添加调度程序缓存失效
- #1727 修复压缩 INTERVAL 列
- #1728 在 ConstraintAwareAppend 中处理 Sort 节点
- #1730 修复超表上的部分索引处理
- #1739 为 Windows 上的调试版本使用发布 OpenSSL DLL
- #1740 修复来自同一超表上的多个 cagg 的失效条目
- #1743 修复连续聚合物化时区处理
- #1748 修复连续聚合的 remove_drop_chunks_policy
- #1756 修复压缩后台工作进程中已删除块的处理
感谢
- @RJPhillips01 发现了有关删除块的问题。
- @b4eEx 发现了有关禁用压缩的问题。
- @darko408 发现了有关压缩超表上排序的问题
- @mrechte 发现了有关压缩 INTERVAL 列的问题
- @tstaehli 发现了有关 ConstraintAwareAppend 的问题
- @chadshowalter 发现了有关超表上的部分索引的问题
- @geoffreybennett 发现了中断操作时 create_hypertable 出现的问题
- @alxndrdude 发现了还原期间后台工作进程出现的问题
- @zcavaliero 报告并修复了 hypertable_relation_size 中已删除列的问题
- @ismailakpolat 发现了有关具有 TIMESTAMP 列的超表上的 cagg 物化问题
自 1.5.1 版本以来,此版本添加了主要的新功能和错误修复。我们认为升级到此版本具有中等优先级。
此版本中的主要新功能允许用户在使用 drop_chunks 删除原始数据时保留连续聚合中的聚合数据。这允许用户通过仅保留聚合来节省存储空间。
连续聚合的 refresh_lag 参数的语义已更改为相对于当前时间戳,而不是相对于表中的最大值。此更改要求在具有基于整数的时间列的超表上设置 integer_now 函数,以便在此表上使用连续聚合。
我们为连续聚合添加了一个 timescaledb.ignore_invalidation_older_than 参数。此参数接受一个时间间隔(例如,1 个月)。如果设置了此参数,它将限制处理失效的时间量。因此,如果 timescaledb.ignore_invalidation_older_than = '1 个月',则对修改时间距当前时间戳 1 个月之前的任何数据的修改可能不会导致连续聚合更新。这限制了回填可以触发的作业量。默认情况下,将处理所有失效。
主要功能
- #1589 允许在保留连续聚合的同时使用 drop_chunks
次要功能
- #1568 向连续 aggs 添加 ignore_invalidation_older_than 选项
- #1575 重新排序连续聚合的 group-by 子句
- #1592 改进连续 agg 用户消息
错误修复
- #1565 修复连续聚合的部分选择查询
- #1591 修复 locf treat_null_as_missing 选项
- #1594 修复压缩约束检查中的错误
- #1603 将连接信息添加到压缩块
- #1606 修复运行时排除期间的 constify 参数
- #1607 删除超表时删除压缩策略
- #1608 将作业添加到 timescaledb_information.policy_stats
- #1609 修复解压缩中的父表错误
- #1624 修复 ApacheOnly 的 drop_chunks
- #1632 在取消引用变量之前检查 NULL
感谢
- @optijon 发现了有关 locf treat_null_as_missing 选项的问题
- @acarrera42 发现了有关运行时排除期间的 constify 参数的问题
- @ChristopherZellermann 发现了有关压缩约束检查的问题
- @SimonDelamare 发现了有关将超表与压缩连接的问题
此维护版本包含自 1.5.0 版本以来的错误修复。我们认为升级到此版本具有低优先级。
特别是,此维护版本中包含的修复程序解决了潜在的段错误以及其他安全漏洞。错误修复与布隆索引和以前版本的更新有关。
错误修复
- #1523 修复来自先前更新的错误 SQL 更新
- #1526 修复超表模型
- #1530 在多事务索引创建中设置活动快照
感谢
- @84660320 发现了有关布隆索引的问题
- @gumshoes @perhamm @jermudgeon @gmisagm 发现了有关更新的问题
自 1.4.2 版本以来,此版本添加了主要的新功能和错误修复。我们认为升级到此版本具有中等优先级。
此版本添加了压缩作为一项主要的新功能。此版本中提供多种类型特定的压缩选项(包括对整数和时间戳使用运行长度编码的 DeltaDelta;对浮点数使用 Gorilla 压缩;对任何数据类型使用基于字典的压缩,但专门用于低基数数据集;以及其他基于 LZ 的技术)。单个列可以使用类型特定的压缩算法进行压缩,因为 Postgres 的本机基于行的格式在每块的基础上被卷起来成为类似列的数组。然后,查询规划器在执行时透明地处理压缩块的解压缩。
此版本还添加了对块在表空间之间迁移的支持,以及对 ChunkAppend 节点的并行查询协调的支持。以前,ChunkAppend 会依赖于底层扫描中的并行协调以实现并行计划。
有关此版本的更多信息,请阅读公告博客和此有关数据压缩的教程。
**仅限此版本**,您需要在运行 `ALTER EXTENSION` 之前重新启动数据库。
主要功能
- #1393 将块移到不同的表空间
- #1433 使 ChunkAppend 具有并行感知
- #1434 引入本机压缩、多种压缩算法和混合行/列投影
次要功能
- #1471 允许在块上设置 reloptions
- #1479 将 next_start 选项添加到 alter_job_schedule
- #1481 在 bgw_job_stats 中添加 last_successful_finish
错误修复
- #1444 阻止 JOIN 中的 LIMIT 推送
- #1447 修复运行时排除内存泄漏
- #1464 修复使用空间分区时,ORDER BY 子句中包含表达式的有序追加
- #1476 修复 BGW 调度的逻辑
- #1477 修复 gapfill treat_null_as_missing
- #1493 阻止无效处理中的递归
- #1498 修复 gapfill 插值的溢出问题
- #1499 修复 pg_restore 中 exported_uuid 的错误
- #1503 修复并行模式下直方图函数的错误
感谢
- @dhyun-obsec 报告了 pg_restore 的问题
- @rhaymo 报告了插值的错误
- @optijon 报告了 locf treat_null_as_missing 的问题
- @favnee 报告了运行时排除的错误
- @Lectem 报告了直方图的错误
- @rogerdwan 报告了 BGW 调度的错误
- @od0 报告了 alter_job_schedule 的错误
此维护版本包含自 1.4.1 版本以来的错误修复。我们认为升级的优先级是中等。
特别是,此维护版本中包含的修复程序解决了 2 个潜在的段错误,并且没有其他安全漏洞。错误修复与后台工作器、OUTER JOIN、空间分区超表的排序追加和表达式索引有关。
错误修复
- #1327 修复带有排序追加的块排除
- #1390 修复在作业运行时删除后台工作器的问题
- #1392 修复 cagg_agg_validate 表达式处理(段错误)
- #1408 修复 ChunkAppend 空间分区对排序追加的支持
- #1420 修复 OUTER JOIN 条件传播
- #1422 修复后台工作器错误处理(段错误)
- #1424 修复 ChunkAppend LIMIT 推送
- #1429 修复表达式索引创建
感谢
- @shahidhk 报告了 OUTER JOIN 的错误
- @cossbow 和 @xxGL1TCHxx 报告了 ChunkAppend 和空间分区的错误
- @est 报告了连续聚合中 CASE 表达式的错误
- @devlucasc 报告了在作业运行时删除后台工作器的错误
- @ryan-shaw 报告了对具有删除列的超表的表达式索引的错误
此维护版本包含自 1.4.0 版本以来的错误修复。我们认为升级的优先级是中等。
特别是,此维护版本中包含的修复程序解决了 2 个潜在的段错误,并且没有其他安全漏洞。错误修复与使用预备语句的查询、PL/pgSQL 函数以及与其他扩展的互操作性有关。更多详细信息请见下文。
错误修复
- #1362 修复 ConstraintAwareAppend 子查询排除
- #1363 将 drop_chunks 标记为 VOLATILE 且不为 PARALLEL SAFE
- #1369 修复使用预备语句的 ChunkAppend
- #1373 仅允许 PARAM_EXTERN 作为 time_bucket_gapfill 参数
- #1380 在 ChunkAppend 中优雅地处理 Result 节点
感谢
- @overhacked 报告了 drop_chunks 和并行查询的错误
- @fvannee 报告了 ConstraintAwareAppend 和子查询的错误
- @rrb3942 报告了 ChunkAppend 和预备语句的段错误
- @mchesser 报告了 time_bucket_gapfill 和子查询的段错误
- @lolizeppelin 报告并帮助调试了 ChunkAppend 和 Result 节点的错误
此版本包含用于连续聚合的主要新功能,并为分析查询添加了性能改进。
在 1.3.0 版本中,我们添加了对连续聚合的支持,该支持最初仅限于每个超表一个连续聚合。通过此版本,我们删除了此限制,并允许每个超表具有多个连续聚合。
此版本添加了一个新的自定义节点 ChunkAppend,它可以执行执行时约束排除,并且还用于有序追加。有序追加不再需要 LIMIT 子句,现在支持空间分区和按 time_bucket 排序。
有关此版本的更多信息,请阅读公告博客、关于实施约束排除的博客以及关于使用 OrderedAppend 的博客。
主要功能
- #1270 使用 ChunkAppend 替换 Append 节点
- #1257 支持多个连续聚合
次要功能
- #1181 从有序追加中删除 LIMIT 子句限制
- #1273 将条件传播到连接的超表
- #1317 在 Ordered Append 中支持 time bucket 函数
- #1331 为 REFRESH MATERIALIZED VIEW 添加警告消息
- #1332 将作业统计信息列添加到 timescaledb_information.continuous_aggregate_stats 视图
- #1326 将体系结构和位大小添加到遥测
错误修复
- #1288 不要删除具有一次性过滤器的 Result 节点
- #1300 修复遥测报告的返回值
- #1339 修复连续聚合目录表插入失败的问题
- #1344 更新连续聚合 bgw 作业的开始时间
感谢
- @ik9999 报告了连续聚合和负刷新延迟的错误
此维护版本包含自 1.3.1 版本以来的错误和安全修复。我们认为升级的优先级是中到高。
此版本修复了一些安全漏洞,特别是与数据库用户能够提升基于角色的权限有关,而这些用户已经可以访问数据库。我们强烈建议依靠基于角色的权限的用户尽快升级到此版本。
安全修复
- #1311 修复基于角色的权限检查逻辑
错误修复
- #1315 修复连续聚合中可能丢失的失效
- #1303 修复对具有自定义时间分区的类型的处理
- #1299 Arm32:修复 Datum 到 int 的强制转换问题
- #1297 Arm32:修复由于长时间处理导致的崩溃
- #1019 在 travis 上添加 ARM32 测试
感谢
- @hedayat 报告了处理具有自定义时间分区的类型的错误
此维护版本包含自 1.3.0 版本以来的错误修复。我们认为升级的优先级是低到中等。
特别是,此维护版本中包含的修复程序没有解决任何安全漏洞,而唯一影响系统稳定性的修复程序与 TimescaleDB 在 PostgreSQL 11 上运行有关。更多详细信息请见下文。
错误修复
- #1220 修复检测用于连续聚合的 JOIN
- #1221 修复 PG11 上 VACUUM 的段错误
- #1228 ARM32 修复:在需要 Datum 时使用 Int64GetDatum 传递 int64
- #1232 允许 Param 作为 time_bucket_gapfill 参数
- #1236 停止阻止事务块中的 REFRESH
- #1283 修复 OUTER JOIN 的约束排除
感谢
- @od0 报告了连续聚合和 JOIN 的错误
- @rickbatka 报告了在函数中使用 time_bucket_gapfill 时的错误
- @OneMoreSec 报告了 VACUUM 的错误
- @dvdrozdov @od0 @t0k4rt 报告了事务块中 REFRESH 的错误
- @mhagander 和 @devrimgunduz 建议添加一个 CMAKE 标志来控制默认的遥测级别
此版本包含我们称之为连续聚合的主要新功能。
触及大量时间序列数据的聚合查询可能需要很长时间才能计算,因为系统需要在每次查询执行时扫描大量数据。我们的连续聚合在后台持续计算查询结果并将其物化。然后,对连续聚合视图的查询会快得多,因为它们不需要触及超表中的原始数据,而是使用视图中的预计算聚合。
连续聚合与 PostgreSQL 物化视图有些类似,但与物化视图不同,连续聚合不需要手动刷新;该视图会随着新数据的添加或旧数据的修改在后台自动刷新。此外,它不需要在每次刷新时重新计算所有数据。只计算新数据或失效数据。由于这种重新聚合是自动的,因此不会给您的数据库增加任何维护负担。
我们的连续聚合方法通过避免与基于触发器的方案相关的写入放大来支持高吞吐量。相反,我们使用失效技术来跟踪哪些数据已更改,然后在下一次自动过程执行时更正物化聚合。
有关此版本的更多信息,请阅读我们的关于连续聚合的博客,或访问我们的文档概述。
主要功能
- #1184 添加连续聚合功能
次要功能
- #1005 启用每个块创建一个索引
- #1007 从查询计划中删除超表父级
- #1038 从 WHERE 子句中推断 time_bucket_gapfill 参数
- #1062 使约束感知追加并行安全
- #1067 为 locf 添加 treat_null_as_missing 选项
- #1112 为 gapfill 添加对窗口函数的支持
- #1130 为时间类型添加跨数据类型块排除的支持
- #1134 添加对分区级聚合的支持
- #1153 为块排除添加 time_bucket 支持
- #1170 添加用于打开/关闭还原和设置许可证密钥的函数
- #1177 将转换后的 time_bucket 比较添加到条件
- #1182 启用优化 INSERT 中的 SELECT
- #1201 为策略添加遥测:drop_chunk & reorder
错误修复
- #1010 为 CLUSTER 添加会话锁
- #1115 修复用于连接查询的有序追加优化
- #1123 修复使用预备语句的 gapfill
- #1125 修复从 GROUP BY 列派生的列的列处理
- #1132 调整有序追加路径成本
- #1155 将初始 max_open_chunks_per_insert 限制为 PG_INT16_MAX
- #1167 修复 postgres.conf ApacheOnly 许可证
- #1183 处理检查约束名称中的 NULL
- #1195 修复计划的删除块的级联
- #1196 修复使用预备语句的 UPSERT
感谢
- @spickman 报告了有序追加和 JOIN 的段错误
- @comicfans 报告了有序追加的性能回归
- @Specter-Y 报告了 UPSERT 和预备语句的段错误
- @erthalion 提交了用于验证检查约束的段错误的错误修复
此版本包含错误修复。
错误修复
- #1097 调整有序追加计划成本
- #1079 在 ALTER DATABASE SET TABLESPACE 和 CREATE DATABASE WITH TEMPLATE 上停止后台工作器
- #1088 修复使用预备语句和函数时的 ON CONFLICT
- #1089 修复与定义 planner_hook 的扩展的兼容性
- #1057 修复块排除约束类型推断
- #1060 修复 sort_transform 优化
感谢
- @esatterwhite 报告了将 timescaledb 与 zombodb 一起使用时的错误
- @eeeebbbbrrrr 修复了与也定义 planner_hook 的扩展的兼容性
- @naquad 报告了在存储过程中使用 ON conflict 时的段错误
- @aaronkaplan 报告了 ALTER DATABASE SET TABLESPACE 的问题
- @quetz 报告了 CREATE DATABASE WITH TEMPLATE 的问题
- @nbouscal 报告了有序追加导致错误计划的问题
此版本包含错误修复。
值得注意的提交
- [2f6b58a]修复 CTE 中的超表插入上的 tlist
- [7973b4a]在重命名数据库时停止后台工作器
- [32cc645]修复在并行工作器中加载 tsl 许可证
感谢
- @jamessewell 报告并帮助调试了 last() 中的段错误[034a0b0]
- @piscopoc 报告了 time_bucket_gapfill 中的段错误[e6c68f8]
这是我们的第一个版本,除了新的 Apache-2 功能外,还包括 Timescale 许可的功能。
我们很高兴推出新的时间序列分析函数、高级数据生命周期管理功能和改进的性能。
- 时间序列分析函数:用户现在可以使用我们的
time_bucket_gapfill
函数来编写复杂的间隙填充、最后对象携带转发和插值查询。 - 高级数据生命周期管理:我们引入了计划策略,该策略使用我们的后台工作器框架来管理时间序列数据。在此版本中,我们支持计划的
drop_chunks
和reorder
。 - 改进的性能:我们添加了对有序追加的支持,该支持优化了大量查询,特别是按时间排序并包含 LIMIT 子句的查询。请注意,有序追加目前不支持按
time_bucket
排序。 - Postgres 11 支持:我们在 1.1.0 中添加了对 PG11 的 beta 支持。我们很高兴地宣布我们的 PG11 支持现已退出 beta 阶段,并获得完全支持。
此版本在新的许可证 LICENSE_TIMESCALE 下添加了代码。此代码可在 tsl
中找到。
**仅限此版本**,您需要在运行 `ALTER EXTENSION` 之前重新启动数据库。
值得注意的提交
- [a531733]切换块时切换 cis 状态
- [5c6b619]在 PG11 中复制 ri_onConflict 对象
- [61e524e]使每个块切换时 upserts 的插槽都更新
- [8a7c127]修复 upserts 期间的 ExecSlotDescriptor
- [fa61613]更改 time_bucket_gapfill 参数名称
- [01be394]修复 bgw_launcher 在启动器设置期间失败时重启
- [7b3929e]添加有序追加优化
- [a69f84c]修复后台工作进程中的信号处理
- [47b5b7d]记录后台工作进程丢弃的块
- [4e1e15f]添加重排序命令
- [2e4bb5d]重新聚类和丢弃块调度代码
- [ef43e52]添加 alter_policy_schedule API 函数
- [5ba740e]添加 gapfill 查询支持
- [be7c74c]添加自动数据库维护功能的逻辑
- [4ff6ac7]初始 Timescale 许可模块和许可证密钥实现
- [fc42539]添加新的顶级许可信息
- [31e9c5b]修复 get_create_command 中的时间列处理
- [1b8ceca]避免在并行工作进程中两次加载,并且只从 $libdir 加载
- [76d7875]扩展加载但尚未安装时不要抛出错误
- [eecd845]添加 Timescale 许可证 (TSL)
- [4b42b30]释放 es_per_tuple_exprcontext 释放时的 ChunkInsertStates
感谢
- @fordred 报告我们的 docker-run.sh 脚本已过时
- @JpWebster 报告读取和 drop_chunks 之间的死锁
- @chickenburgers 报告了我们 CMake 的问题
- Dimtrj 和 Asbjørn D. 在 Slack 上创建了 UPSERT 错误的可重现测试用例
- @skebanga 报告了加载程序错误
有关此版本的更多信息,请阅读 博客公告 和 关于使用 time_bucket_gapfill
、interpolate
和 locf
的博客.
此版本包含错误修复。
高级更改
- 修复使用 pg_upgrade 升级时的错误
- 修复有时在长时间 COPY 中出现的段错误
- 其他错误和稳定性修复
值得注意的提交
- [f99b540]避免在并行工作进程中两次加载,并且只从 $libdir 加载
- [e310f7d]扩展加载但尚未安装时不要抛出错误
- [8498416]释放 es_per_tuple_exprcontext 释放时的 ChunkInsertStates
- [937eefe]将 C 标准设置为 C11
感谢
- @costigator 报告了 pg_upgrade 错误
- @FireAndIce68 报告了并行工作进程问题
- @damirda 报告了复制错误
我们的 1.1 版本引入了对 PG 11 的 beta 支持,以及旨在改进读取查询的块排除的若干性能优化。我们还在我们的 Debian 和 Linux 版本中打包了我们的新 timescale-tune 工具(目前处于 beta 阶段)。如果您遇到我们 beta 功能的任何问题,请在 GitHub 上提交问题。
潜在的重大更改
- 除了优化 first() / last() 以利用非分组查询的索引之外,我们还调整了其排序行为以匹配 PostgreSQL 的 max() 和 min() 函数。以前,如果要排序的列具有 NULL 值,则将返回 NULL。现在,first() 和 last() 会忽略 NULL 值。
值得注意的提交
- [71f3a0c]修复 Datum 转换问题
- [5aa1eda]重构兼容性函数和代码以支持 PG11
- [e4a4f8e]添加对开放(时间)维度上的函数的支持
- [ed5067c]修复 interval_from_now_to_internal timestamptz 处理
- [019971c]优化 FIRST/LAST 聚合函数
- [83014ee]在 C 中实现 drop_chunks
- [9a34028]在 C 中实现 show_chunks 并让 drop_chunks 使用它
- [d461959]添加视图以显示超表信息
- [35dee48]从客户端删除版本检查
- [5b6a5f4]将大小实用程序和作业函数更改为 STRICT
- [7e55d91]添加对 DDL 函数的 NULL 参数的检查
- [c1db608]修复映射变量编号时的 upsert TLE 翻译
- [55a378e]检查扩展是否存在于 DROP OWNED 和 DROP EXTENSION 中
- [0c8c085]为 IN/ANY/ALL 运算符排除不需要的块
- [f27c0a3]将带有偏移量的 int time_bucket 函数移到 C 中
感谢
- @did-g 为一些内存改进做出了贡献
此提交包含 1.0.0 的错误修复和优化
值得注意的提交
- [6553aa4]将许多大小实用程序函数更改为
STRICT
- [bb1d748]添加对
set_adaptive_chunking
、set_number_partitions
、set_chunk_time_interval
、add_dimension
和create_hypertable
的 NULL 参数的检查 - [a534ed4]修复映射变量编号时的 upsert TLE 翻译
- [aecd55b]检查扩展是否存在于 DROP OWNED 和 DROP EXTENSION 中
这是我们的 1.0 版本!
有关 0.12.0/0.12.1 和此最终 1.0 版本之间的重要提交,请参阅之前发布的候选版本 (rc1、rc2 和 rc3) 的条目。
感谢 所有帮助我们调试发布候选版本的外部贡献者,以及所有在 Slack、GitHub 和其他频道上提交错误报告、PR 或反馈的人。所有输入都很有价值,帮助我们创建了今天的产品!
潜在的重大更改
- 为了更好地与 ISO 标准保持一致,默认情况下,每周的时间分桶从星期一开始(而不是星期六),
time_bucket
的纪元/原点已从 2000 年 1 月 1 日更改为 2000 年 1 月 3 日。该函数现在包含一个origin
参数,可用于调整此参数。 - 错误代码现在以
TS
而不是之前的IO
前缀开头。如果您是通过名称检查这些错误代码的,请更新您的代码。
有关此版本的更多信息,请阅读 博客公告.
有关 1.0 之前的版本,请访问 变更日志.
关键词