Timescale Cloud:性能、规模、企业级
自托管产品
MST
本节包含一些用于解决 hypercore 常见问题的思路。
ERROR: temporary file size exceeds temp_file_limit
当您尝试将分块转换为列式存储时,特别是当分块非常大时,可能会出现此错误。压缩操作会将文件写入一个新的压缩分块表,该表写入临时内存中。可用临时内存的最大量由 temp_file_limit
参数决定。您可以通过调整 temp_file_limit
和 maintenance_work_mem
参数来解决此问题。
ERROR: tuple decompression limit exceeded by operation
从列式存储中的分块插入、更新或删除元组时,可能需要将元组转换为行式存储。这发生在您更新现有元组或在插入时需要验证约束的情况下。如果您在单个命令中触发大量行式存储转换,可能会导致存储空间不足。因此,对单个命令可解压缩到行式存储中的元组数量设置了限制。
可以像这样增加限制或将其关闭(设置为 0)
-- set limit to a milion tuplesSET timescaledb.max_tuples_decompressed_per_dml_transaction TO 1000000;-- disable limit by setting to 0SET timescaledb.max_tuples_decompressed_per_dml_transaction TO 0;
低压缩率通常是由于分段键的高基数。这意味着您在压缩时选择用于分组行的列具有太多唯一值。这使得无法在批处理中分组大量行。为获得更好的压缩结果,请选择基数较低的分段键。
compress_chunk_time_interval configured and primary dimension not first column in compress_orderby.consider setting "<column name>" as first compress_orderby column
当您配置 compress_chunk_time_interval
但未将主维度设置为 compress_orderby
中的第一列时,TimescaleDB 会在合并前解压缩分块。这会降低合并效率。将分块的主维度设置为 compress_orderby
中的第一列以提高效率。
ERROR: must be owner of hypertable "HYPERTABLE_NAME"
如果您尝试使用非特权用户帐户将分块压缩为列式存储,或将其解压缩回行式存储,可能会出现此错误。要压缩或解压缩分块,您的用户帐户必须拥有允许其对分块执行 CREATE INDEX
的权限。您可以使用 psql
命令提示符下的此命令检查当前用户的权限
\dn+ <USERNAME>
要解决此问题,请使用此命令授予您的用户帐户适当的权限
GRANT PRIVILEGESON TABLE <TABLE_NAME>TO <ROLE_TYPE>;
有关 GRANT
命令的更多信息,请参阅 PostgreSQL 文档" width="16" height="16" class="inline m-0 ml-1">。
ERROR: invalid attribute number -6 for _hyper_2_839_chunkCONTEXT: SQL function "hypertable_local_size" statement 1 PL/pgSQL function hypertable_detailed_size(regclass) line 26 at RETURN QUERY SQL function "hypertable_size" statement 1SQL state: XX000
如果您的超表索引变得非常大,可能会出现此错误。要解决此问题,请使用此命令重建超表索引
reindex table _timescaledb_internal._hyper_2_1523284_chunk
有关更多信息,请参阅 超表文档。
您的计划作业可能因各种原因停止运行。在自托管 TimescaleDB 上,您可以通过重启后台工作进程来解决此问题
在 Timescale 和 TimescaleDB 托管服务上,通过执行以下操作之一重启后台工作进程
- 运行
SELECT timescaledb_pre_restore()
,然后运行SELECT timescaledb_post_restore()
。 - 关闭服务再重新开启。这可能会导致几分钟的停机时间,因为服务会从备份中恢复并重放预写日志。
关键词
在此页面上发现问题?报告问题" width="16" height="16" class="inline m-0 ml-1"> 或在 GitHub 上编辑此页面
" width="16" height="16" class="inline m-0 ml-1">。