惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
美团技术团队
Recent Announcements
Recent Announcements
B
Blog
GbyAI
GbyAI
雷峰网
雷峰网
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
V
V2EX
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏

博客园 - MSSQL123

ubuntu24下 ext4和xfs类型磁盘以及PostgreSQL实例性能对比测试 PostgreSQL 18 新特性 skip scan,一个鸡肋的功能 PostgreSQL 17 流复制中开启逻辑复制槽同步,以及逻辑槽的故障转移 记一次PostgreSQL交叉表crosstab行转列导致的OOM TiDB 扩容与缩容 PostgreSQL 高可用集群 patroni 自动故障转移测试 Ubuntu 20 环境下 patroni 自动化安装,一分钟快速搭建 patroni 集群 Ubuntu 20 环境下 pg_auto_failover 自动化安装,一分钟快速搭建pg_auto_failover集群 PostgreSQL的消息队列扩展pgmq 磁盘IO延迟和队列深度的关系 TiDB 最小拓扑架构集群安装 PostgreSQL 逻辑复制中的同步和异步模式以及其表现 prometheus 的 altermanager Silences静默告警,优雅地抑制告警 “世界上百分之99的博士和他们的论文都是垃圾”,原本以为这个观点偏激 pg_auto_failover 在多种场景下自动故障转移的验证 pgbouncer连接池设置与压力测试的最大连接数测试 pg_auto_failover 自动故障转移参数 博文阅读密码验证 - 博客园 pg_auto_failover 高可用中,PostgreSQL实例配置文件的加载步骤 pg_auto_failover集群monitor节点的高可用 prometheus监控Linux Server node_exporter代理安装和配置 prometheus监控windows window_exporter代理安装和配置 Prometheus 和 Grafana 监控 PostgreSQL 记一次MySQL binlog日志导致磁盘空间占满的问题 SQLServer 2019 标准版在虚拟机上无法充分利用CPU的问题诊断 Windows Failover Cluster集群中的EventId 1196错误日志 pg_auto_failover 环境变量导致的show命令错误 SqlServer 事务复制(transaction replication)的复制位点信息 SqlServer 事务复制的两个参数immediate_sync,allow_anonymous MySQL,SqlServer,PostgreSQL中,如何实现锁定一张表
timescaledb 扩展 PostgreSQL 18+ 版本下源码编译安装
MSSQL123 · 2026-08-05 · via 博客园 - MSSQL123

timescaledb:一个PostgreSQL时序数据库的扩展

环境如下
OS:ubuntu 24
PostgreSQL:18.3
timescaleDB:2.29.1 (2026-08-04),发布不超过24小时(该版本与笔者记录这篇文章的时间)

官方推荐的是apt仓库安装,这种方法会依赖系统包管理器自带的 PostgreSQL,由于本地的PostgreSQL实例已经安装,不太适合自定义编译安装的场景。而通过源代码编译安装,可以精确指定已安装好的 PostgreSQL 版本,兼容性最好,也最灵活。

1,源码下载

root@ubuntu27:/usr/local/pgsql18# git clone https://github.com/timescale/timescaledb.git
Cloning into 'timescaledb'...
remote: Enumerating objects: 110386, done.
remote: Counting objects: 100% (260/260), done.
remote: Compressing objects: 100% (150/150), done.
remote: Total 110386 (delta 167), reused 114 (delta 110), pack-reused 110126 (from 3)
Receiving objects: 100% (110386/110386), 62.25 MiB | 1.04 MiB/s, done.
Resolving deltas: 100% (90268/90268), done.
root@ubuntu26:/usr/local/pgsql18/timescaledb# git tag -l --sort=-v:refname
loader-2.11.0p1
2.29.1
2.29.0
2.28.3
2.28.2
2.28.1
2.28.0
2.27.2
2.27.1
root@ubuntu26:/usr/local/pgsql18/timescaledb# git checkout 2.29.1
Note: switching to '2.29.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at bdc46d313 Release 2.29.1
root@ubuntu26:/usr/local/pgsql18/timescaledb#

2,安装cmake

sudo apt update
sudo apt install -y cmake

3,调用 CMake 来生成平台原生的构建文件,以及编译安装

./bootstrap   -DCMAKE_BUILD_TYPE=RelWithDebInfo   -DPG_CONFIG=/usr/local/pgsql18/server/bin/pg_config   -DWARNINGS_AS_ERRORS=OFF

cd ./build && make

make install

详细执行过程如下

编译timescaledb过程
root@ubuntu26:/usr/local/pgsql18/timescaledb#
root@ubuntu26:/usr/local/pgsql18/timescaledb# ./bootstrap   -DCMAKE_BUILD_TYPE=RelWithDebInfo   -DPG_CONFIG=/usr/local/pgsql18/server/bin/pg_config   -DWARNINGS_AS_ERRORS=OFF
-- Using /usr/bin/gcc as CC based on pg_config CC
-- The C compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- TimescaleDB version 2.29.1. Can be updated from version 2.29.0
-- Build type is RelWithDebInfo
-- Install method is 'source'
-- Performing Test CC_SUPPORTS_NO_UNUSED_CLI_ARG
-- Performing Test CC_SUPPORTS_NO_UNUSED_CLI_ARG - Success
-- Performing Test CC_SUPPORTS_NO_FORMAT_TRUNCATION
-- Performing Test CC_SUPPORTS_NO_FORMAT_TRUNCATION - Success
-- Performing Test CC_STRINGOP_TRUNCATION
-- Performing Test CC_STRINGOP_TRUNCATION - Success
-- Performing Test CC_SUPPORTS_IMPLICIT_FALLTHROUGH
-- Performing Test CC_SUPPORTS_IMPLICIT_FALLTHROUGH - Success
-- Performing Test CC_SUPPORTS_NEWLINE_EOF
-- Performing Test CC_SUPPORTS_NEWLINE_EOF - Failed
-- Performing Test CC_SUPPORTS_VISIBILITY_HIDDEN
-- Performing Test CC_SUPPORTS_VISIBILITY_HIDDEN - Success
-- Using compiler GNU
-- Found Git: /usr/bin/git (found version "2.43.0")
-- Compiling against PostgreSQL version 18.3 using pg_config '/usr/local/pgsql18/server/bin/pg_config'
-- Assertion checks are OFF
-- Looking for USE_OPENSSL
-- Looking for USE_OPENSSL - found
-- Found Perl: /usr/bin/perl (found suitable version "5.38.2", minimum required is "5.8")
-- Not running TAP tests: IPC::Run Perl module not found.
-- Using nm /usr/bin/nm
-- Not generating downgrade script: downgrade generation disabled.
-- Using pg_regress /usr/local/pgsql18/server/lib/pgxs/src/test/regress/pg_regress
-- Using pg_isolation_regress /usr/local/pgsql18/server/lib/pgxs/src/test/isolation/pg_isolation_regress
-- Performing Test CC_PCLMUL
-- Performing Test CC_PCLMUL - Success
-- Performing Test UMASH_SUPPORTED
-- Performing Test UMASH_SUPPORTED - Success
-- Configuring done (2.4s)
-- Generating done (0.1s)
-- Build files have been written to: /usr/local/pgsql18/timescaledb/build
TimescaleDB build system initialized in ./build. To compile, do:
cd ./build && make
root@ubuntu26:/usr/local/pgsql18/timescaledb# cd ./build && make
[  0%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.29.1.sql
[  0%] Built target sqlfile
[  0%] Generating /usr/local/pgsql18/timescaledb/build/sql/updates/post-update.sql.processed
[  1%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.29.0--2.29.1.sql
[  1%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.28.3--2.29.1.sql
[  1%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.28.2--2.29.1.sql
[  2%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.28.1--2.29.1.sql
[  2%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.28.0--2.29.1.sql
[  3%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.27.2--2.29.1.sql
[  3%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.27.1--2.29.1.sql
[  3%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.27.0--2.29.1.sql
[  4%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.26.4--2.29.1.sql
[  4%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.26.3--2.29.1.sql
[  4%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.26.2--2.29.1.sql
[  5%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.26.1--2.29.1.sql
[  5%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.26.0--2.29.1.sql
[  5%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.25.2--2.29.1.sql
[  6%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.25.1--2.29.1.sql
[  6%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.25.0--2.29.1.sql
[  6%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.24.0--2.29.1.sql
[  7%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.23.1--2.29.1.sql
[  7%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.23.0--2.29.1.sql
[  7%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.22.1--2.29.1.sql
[  8%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.22.0--2.29.1.sql
[  8%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.21.4--2.29.1.sql
[  8%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.21.3--2.29.1.sql
[  9%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.21.2--2.29.1.sql
[  9%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.21.1--2.29.1.sql
[  9%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.21.0--2.29.1.sql
[ 10%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.20.3--2.29.1.sql
[ 10%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.20.2--2.29.1.sql
[ 10%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.20.1--2.29.1.sql
[ 11%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.20.0--2.29.1.sql
[ 11%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.19.3--2.29.1.sql
[ 11%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.19.2--2.29.1.sql
[ 12%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.19.1--2.29.1.sql
[ 12%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.19.0--2.29.1.sql
[ 12%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.18.2--2.29.1.sql
[ 13%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.18.1--2.29.1.sql
[ 13%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.18.0--2.29.1.sql
[ 13%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.17.2--2.29.1.sql
[ 14%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.17.1--2.29.1.sql
[ 14%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.17.0--2.29.1.sql
[ 14%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.16.1--2.29.1.sql
[ 15%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.16.0--2.29.1.sql
[ 15%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.15.3--2.29.1.sql
[ 15%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.15.2--2.29.1.sql
[ 16%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.15.1--2.29.1.sql
[ 16%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.15.0--2.29.1.sql
[ 16%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.14.2--2.29.1.sql
[ 17%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.14.1--2.29.1.sql
[ 17%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.14.0--2.29.1.sql
[ 17%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.13.1--2.29.1.sql
[ 18%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.13.0--2.29.1.sql
[ 18%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.12.2--2.29.1.sql
[ 18%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.12.1--2.29.1.sql
[ 19%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.12.0--2.29.1.sql
[ 19%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.11.2--2.29.1.sql
[ 19%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.11.1--2.29.1.sql
[ 20%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.11.0--2.29.1.sql
[ 20%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.10.3--2.29.1.sql
[ 20%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.10.2--2.29.1.sql
[ 21%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.10.1--2.29.1.sql
[ 21%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.10.0--2.29.1.sql
[ 21%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.9.3--2.29.1.sql
[ 22%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.9.2--2.29.1.sql
[ 22%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.9.1--2.29.1.sql
[ 22%] Generating /usr/local/pgsql18/timescaledb/build/sql/timescaledb--2.9.0--2.29.1.sql
[ 22%] Built target sqlupdatescripts
-- Building commit 2.29.1 (bdc46d313480287d2c21aa50abf405a1493a1769), 2026-08-04T10:08:23+02:00
[ 22%] Built target gitcheck
[ 22%] Building C object src/CMakeFiles/timescaledb.dir/uuid.c.o
[ 22%] Building C object src/CMakeFiles/timescaledb.dir/agg_bookend.c.o
[ 23%] Building C object src/CMakeFiles/timescaledb.dir/bmslist_utils.c.o
[ 23%] Building C object src/CMakeFiles/timescaledb.dir/func_cache.c.o
[ 23%] Building C object src/CMakeFiles/timescaledb.dir/cache.c.o
[ 24%] Building C object src/CMakeFiles/timescaledb.dir/cache_invalidate.c.o
[ 24%] Building C object src/CMakeFiles/timescaledb.dir/chunk.c.o
[ 24%] Building C object src/CMakeFiles/timescaledb.dir/chunk_constraint.c.o
[ 25%] Building C object src/CMakeFiles/timescaledb.dir/chunk_index.c.o
[ 25%] Building C object src/CMakeFiles/timescaledb.dir/chunk_insert_state.c.o
[ 25%] Building C object src/CMakeFiles/timescaledb.dir/chunk_scan.c.o
[ 26%] Building C object src/CMakeFiles/timescaledb.dir/chunk_tuple_routing.c.o
[ 26%] Building C object src/CMakeFiles/timescaledb.dir/constraint.c.o
[ 26%] Building C object src/CMakeFiles/timescaledb.dir/cross_module_fn.c.o
[ 27%] Building C object src/CMakeFiles/timescaledb.dir/copy.c.o
[ 27%] Building C object src/CMakeFiles/timescaledb.dir/dimension.c.o
[ 27%] Building C object src/CMakeFiles/timescaledb.dir/dimension_slice.c.o
[ 28%] Building C object src/CMakeFiles/timescaledb.dir/dimension_vector.c.o
[ 28%] Building C object src/CMakeFiles/timescaledb.dir/estimate.c.o
[ 28%] Building C object src/CMakeFiles/timescaledb.dir/event_trigger.c.o
[ 29%] Building C object src/CMakeFiles/timescaledb.dir/extension.c.o
[ 29%] Building C object src/CMakeFiles/timescaledb.dir/extension_constants.c.o
[ 29%] Building C object src/CMakeFiles/timescaledb.dir/expression_utils.c.o
[ 30%] Building C object src/CMakeFiles/timescaledb.dir/foreign_key.c.o
[ 30%] Building C object src/CMakeFiles/timescaledb.dir/gapfill.c.o
[ 30%] Building C object src/CMakeFiles/timescaledb.dir/guc.c.o
[ 31%] Building C object src/CMakeFiles/timescaledb.dir/histogram.c.o
[ 31%] Building C object src/CMakeFiles/timescaledb.dir/hypercube.c.o
[ 31%] Building C object src/CMakeFiles/timescaledb.dir/hypertable.c.o
[ 32%] Building C object src/CMakeFiles/timescaledb.dir/hypertable_cache.c.o
[ 32%] Building C object src/CMakeFiles/timescaledb.dir/hypertable_restrict_info.c.o
[ 32%] Building C object src/CMakeFiles/timescaledb.dir/indexing.c.o
[ 33%] Building C object src/CMakeFiles/timescaledb.dir/init.c.o
[ 33%] Building C object src/CMakeFiles/timescaledb.dir/jsonb_utils.c.o
[ 33%] Building C object src/CMakeFiles/timescaledb.dir/license_guc.c.o
[ 34%] Building C object src/CMakeFiles/timescaledb.dir/osm_callbacks.c.o
[ 34%] Building C object src/CMakeFiles/timescaledb.dir/partitioning.c.o
[ 34%] Building C object src/CMakeFiles/timescaledb.dir/partition_chunk.c.o
[ 35%] Building C object src/CMakeFiles/timescaledb.dir/process_utility.c.o
[ 35%] Building C object src/CMakeFiles/timescaledb.dir/scanner.c.o
[ 35%] Building C object src/CMakeFiles/timescaledb.dir/scan_iterator.c.o
[ 36%] Building C object src/CMakeFiles/timescaledb.dir/sort_transform.c.o
[ 36%] Building C object src/CMakeFiles/timescaledb.dir/subspace_store.c.o
[ 36%] Building C object src/CMakeFiles/timescaledb.dir/timezones.c.o
[ 37%] Building C object src/CMakeFiles/timescaledb.dir/time_bucket.c.o
[ 37%] Building C object src/CMakeFiles/timescaledb.dir/time_utils.c.o
[ 37%] Building C object src/CMakeFiles/timescaledb.dir/custom_type_cache.c.o
[ 38%] Building C object src/CMakeFiles/timescaledb.dir/trigger.c.o
[ 38%] Building C object src/CMakeFiles/timescaledb.dir/utils.c.o
[ 39%] Building C object src/CMakeFiles/timescaledb.dir/version.c.o
[ 39%] Building C object src/CMakeFiles/timescaledb.dir/tss_callbacks.c.o
[ 39%] Building C object src/CMakeFiles/timescaledb.dir/bgw/job.c.o
[ 40%] Building C object src/CMakeFiles/timescaledb.dir/bgw/job_stat.c.o
[ 40%] Building C object src/CMakeFiles/timescaledb.dir/bgw/job_stat_history.c.o
[ 40%] Building C object src/CMakeFiles/timescaledb.dir/bgw/launcher_interface.c.o
[ 41%] Building C object src/CMakeFiles/timescaledb.dir/bgw/scheduler.c.o
[ 41%] Building C object src/CMakeFiles/timescaledb.dir/bgw/timer.c.o
[ 41%] Building C object src/CMakeFiles/timescaledb.dir/net/conn.c.o
[ 42%] Building C object src/CMakeFiles/timescaledb.dir/net/conn_plain.c.o
[ 42%] Building C object src/CMakeFiles/timescaledb.dir/net/http.c.o
[ 42%] Building C object src/CMakeFiles/timescaledb.dir/net/http_response.c.o
[ 43%] Building C object src/CMakeFiles/timescaledb.dir/net/http_request.c.o
[ 43%] Building C object src/CMakeFiles/timescaledb.dir/net/conn_ssl.c.o
[ 43%] Building C object src/CMakeFiles/timescaledb.dir/telemetry/functions.c.o
[ 44%] Building C object src/CMakeFiles/timescaledb.dir/telemetry/replication.c.o
[ 44%] Building C object src/CMakeFiles/timescaledb.dir/telemetry/stats.c.o
[ 44%] Building C object src/CMakeFiles/timescaledb.dir/telemetry/telemetry_metadata.c.o
[ 45%] Building C object src/CMakeFiles/timescaledb.dir/telemetry/telemetry.c.o
[ 45%] Building C object src/CMakeFiles/timescaledb.dir/bgw_policy/policy.c.o
[ 45%] Building C object src/CMakeFiles/timescaledb.dir/bgw_policy/chunk_stats.c.o
[ 46%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/array_utils.c.o
[ 46%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/catalog.c.o
[ 46%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/chunk_column_stats.c.o
[ 47%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/chunk_rewrite.c.o
[ 47%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/compression_chunk_size.c.o
[ 47%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/compression_settings.c.o
[ 48%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/continuous_agg.c.o
[ 48%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/continuous_aggs_jobs_refresh_ranges.c.o
[ 48%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/continuous_aggs_tenant_tracking.c.o
[ 49%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/continuous_aggs_watermark.c.o
[ 49%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/hypertable_cagg_settings.c.o
[ 49%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/metadata.c.o
[ 50%] Building C object src/CMakeFiles/timescaledb.dir/ts_catalog/tablespace.c.o
[ 50%] Building C object src/CMakeFiles/timescaledb.dir/nodes/modify_hypertable.c.o
[ 50%] Building C object src/CMakeFiles/timescaledb.dir/nodes/modify_hypertable_exec.c.o
[ 51%] Building C object src/CMakeFiles/timescaledb.dir/nodes/chunk_append/chunk_append.c.o
[ 51%] Building C object src/CMakeFiles/timescaledb.dir/nodes/chunk_append/exec.c.o
[ 51%] Building C object src/CMakeFiles/timescaledb.dir/nodes/chunk_append/planner.c.o
[ 52%] Building C object src/CMakeFiles/timescaledb.dir/nodes/chunk_append/transform.c.o
[ 52%] Building C object src/CMakeFiles/timescaledb.dir/nodes/constraint_aware_append/constraint_aware_append.c.o
[ 52%] Building C object src/CMakeFiles/timescaledb.dir/planner/planner.c.o
[ 53%] Building C object src/CMakeFiles/timescaledb.dir/planner/agg_bookend.c.o
[ 53%] Building C object src/CMakeFiles/timescaledb.dir/planner/constify_now.c.o
[ 53%] Building C object src/CMakeFiles/timescaledb.dir/planner/constraint_cleanup.c.o
[ 54%] Building C object src/CMakeFiles/timescaledb.dir/planner/expand_hypertable.c.o
[ 54%] Building C object src/CMakeFiles/timescaledb.dir/planner/space_constraint.c.o
[ 54%] Building C object src/CMakeFiles/timescaledb.dir/with_clause/alter_table_with_clause.c.o
[ 55%] Building C object src/CMakeFiles/timescaledb.dir/with_clause/create_table_with_clause.c.o
[ 55%] Building C object src/CMakeFiles/timescaledb.dir/with_clause/create_materialized_view_with_clause.c.o
[ 55%] Building C object src/CMakeFiles/timescaledb.dir/with_clause/with_clause_parser.c.o
[ 56%] Building C object src/CMakeFiles/timescaledb.dir/ts_stats/ts_stats_record.c.o
[ 56%] Building C object src/CMakeFiles/timescaledb.dir/ts_stats/ts_stats_segment.c.o
[ 56%] Building C object src/CMakeFiles/timescaledb.dir/ts_stats/ts_stats_srf.c.o
[ 57%] Building C object src/CMakeFiles/timescaledb.dir/import/allpaths.c.o
[ 57%] Building C object src/CMakeFiles/timescaledb.dir/import/createplan.c.o
[ 57%] Building C object src/CMakeFiles/timescaledb.dir/import/heapswap.c.o
[ 58%] Building C object src/CMakeFiles/timescaledb.dir/import/list.c.o
[ 58%] Building C object src/CMakeFiles/timescaledb.dir/import/plancat.c.o
[ 59%] Building C object src/CMakeFiles/timescaledb.dir/import/planner.c.o
[ 59%] Building C object src/CMakeFiles/timescaledb.dir/import/setrefs.c.o
[ 59%] Building C object src/CMakeFiles/timescaledb.dir/import/ts_explain.c.o
[ 60%] Building C object src/CMakeFiles/timescaledb.dir/import/ts_inherit.c.o
[ 60%] Linking C shared module timescaledb-2.29.1.so
[ 60%] Built target timescaledb
[ 60%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/loader.c.o
[ 61%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/bgw_message_queue.c.o
[ 61%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/bgw_counter.c.o
[ 61%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/bgw_launcher.c.o
[ 62%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/bgw_interface.c.o
[ 62%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/function_telemetry.c.o
[ 62%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/ts_stats_handles.c.o
[ 63%] Building C object src/loader/CMakeFiles/timescaledb-loader.dir/lwlocks.c.o
[ 63%] Linking C shared module timescaledb.so
[ 63%] Built target timescaledb-loader
[ 64%] Building C object tsl/src/import/CMakeFiles/target_no_static_code_analysis.dir/umash.c.o
[ 64%] Built target target_no_static_code_analysis
[ 64%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/chunk_api.c.o
[ 65%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/chunk.c.o
[ 65%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/chunk_merge.c.o
[ 65%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/chunk_split.c.o
[ 66%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/chunkwise_agg.c.o
[ 66%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/init.c.o
[ 66%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/planner.c.o
[ 67%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/process_utility.c.o
[ 67%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/reorder.c.o
[ 67%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/compaction_api.c.o
[ 68%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/compression_api.c.o
[ 68%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/continuous_aggregate_api.c.o
[ 68%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/job.c.o
[ 69%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/job_api.c.o
[ 69%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/reorder_api.c.o
[ 69%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/policy_config.c.o
[ 70%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/retention_api.c.o
[ 70%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/policy_utils.c.o
[ 70%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/bgw_policy/policies_v2.c.o
[ 71%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/api.c.o
[ 71%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/batch_metadata_builder_bloom1.c.o
[ 71%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/batch_metadata_builder_firstlast.c.o
[ 72%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/batch_metadata_builder_minmax.c.o
[ 72%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/compression.c.o
[ 72%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/compression_dml.c.o
[ 73%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/compression_scankey.c.o
[ 73%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/compression_storage.c.o
[ 73%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/create.c.o
[ 74%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/recompress.c.o
/usr/local/pgsql18/timescaledb/tsl/src/compression/recompress.c: In function ‘recompress_chunk_segmentwise_impl’:
/usr/local/pgsql18/timescaledb/tsl/src/compression/recompress.c:715:39: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized]
  715 |                         while (result == Tuple_before)
      |                                ~~~~~~~^~~~~~~~~~~~~~~
/usr/local/pgsql18/timescaledb/tsl/src/compression/recompress.c:688:41: note: ‘result’ was declared here
  688 |                 enum Batch_match_result result;
      |                                         ^~~~~~
At top level:
cc1: note: unrecognized command-line option ‘-Wno-unused-command-line-argument’ may have been intended to silence earlier diagnostics
[ 74%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/array.c.o
[ 74%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/datum_serialize.c.o
[ 75%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/deltadelta.c.o
[ 75%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/dictionary.c.o
[ 75%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/gorilla.c.o
[ 76%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/bool_compress.c.o
[ 76%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/null.c.o
[ 76%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/uuid_compress.c.o
[ 77%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor.c.o
[ 77%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor_8.c.o
[ 77%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor_16.c.o
[ 78%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor_32.c.o
[ 78%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor_64.c.o
[ 78%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor_128.c.o
[ 79%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_ffor_256.c.o
[ 79%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack.c.o
[ 80%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack_8.c.o
[ 80%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack_16.c.o
[ 80%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack_32.c.o
[ 81%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack_64.c.o
[ 81%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack_128.c.o
[ 81%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_pack_256.c.o
[ 82%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/compression/algorithms/fastlanes/fastlanes_sizing.c.o
[ 82%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/add_column.c.o
[ 82%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/common.c.o
[ 83%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/create.c.o
[ 83%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/finalize.c.o
[ 83%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/insert.c.o
[ 84%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/invalidation_threshold.c.o
[ 84%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/invalidation.c.o
[ 84%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/materialize.c.o
[ 85%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/options.c.o
[ 85%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/planner.c.o
[ 85%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/refresh.c.o
[ 86%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/rewrite_with_caggs.c.o
[ 86%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/continuous_aggs/utils.c.o
[ 86%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_index_scan/columnar_index_scan.c.o
[ 87%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_index_scan/columnar_index_scan_exec.c.o
[ 87%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/batch_array.c.o
[ 87%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/batch_queue_heap.c.o
[ 88%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/batch_queue_fifo.c.o
[ 88%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/compressed_batch.c.o
[ 88%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/columnar_scan.c.o
[ 89%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/detoaster.c.o
[ 89%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/exec.c.o
[ 89%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/planner.c.o
[ 90%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/pred_text.c.o
[ 90%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/pred_vector_array.c.o
[ 90%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/qual_pushdown.c.o
[ 91%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/columnar_scan/vector_predicates.c.o
[ 91%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/gapfill/gapfill_functions.c.o
[ 91%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/gapfill/gapfill_plan.c.o
[ 92%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/gapfill/gapfill_exec.c.o
[ 92%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/gapfill/locf.c.o
[ 92%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/gapfill/interpolate.c.o
[ 93%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/skip_scan/planner.c.o
[ 93%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/skip_scan/exec.c.o
[ 93%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/functions.c.o
[ 94%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/minmax_templates.c.o
[ 94%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/int24_sum_templates.c.o
[ 94%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/sum_float_templates.c.o
[ 95%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/float48_accum_templates.c.o
[ 95%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/int24_avg_accum_templates.c.o
[ 95%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/function/int128_accum_templates.c.o
[ 96%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/hashing/hash_strategy_single_fixed_2.c.o
[ 96%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/hashing/hash_strategy_single_fixed_4.c.o
[ 96%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/hashing/hash_strategy_single_fixed_8.c.o
[ 97%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/hashing/hash_strategy_common.c.o
[ 97%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/hashing/hash_strategy_single_text.c.o
[ 97%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/hashing/hash_strategy_serialized.c.o
[ 98%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/exec.c.o
[ 98%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/grouping_policy_batch.c.o
[ 98%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/grouping_policy_hash.c.o
[ 99%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/plan.c.o
[ 99%] Building C object tsl/src/CMakeFiles/timescaledb-tsl.dir/nodes/vector_agg/plan_columnar_scan.c.o
[100%] Linking C shared module timescaledb-tsl-2.29.1.so
[100%] Built target timescaledb-tsl
root@ubuntu26:/usr/local/pgsql18/timescaledb/build# ls /usr/local/pgsql18/server/lib | grep timescaled
root@ubuntu26:/usr/local/pgsql18/timescaledb/build#
root@ubuntu26:/usr/local/pgsql18/timescaledb/build# make install
[  0%] Built target sqlfile
[ 22%] Built target sqlupdatescripts
-- Building commit 2.29.1 (bdc46d313480287d2c21aa50abf405a1493a1769), 2026-08-04T10:08:23+02:00
[ 22%] Built target gitcheck
[ 60%] Built target timescaledb
[ 63%] Built target timescaledb-loader
[ 64%] Built target target_no_static_code_analysis
[100%] Built target timescaledb-tsl
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb.control
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.29.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.28.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.28.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.28.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.28.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.27.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.27.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.27.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.26.4--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.26.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.26.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.26.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.26.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.25.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.25.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.25.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.24.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.23.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.23.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.22.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.22.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.21.4--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.21.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.21.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.21.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.21.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.20.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.20.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.20.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.20.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.19.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.19.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.19.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.19.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.18.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.18.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.18.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.17.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.17.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.17.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.16.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.16.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.15.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.15.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.15.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.15.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.14.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.14.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.14.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.13.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.13.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.12.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.12.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.12.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.11.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.11.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.11.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.10.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.10.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.10.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.10.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.9.3--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.9.2--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.9.1--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/share/extension/timescaledb--2.9.0--2.29.1.sql
-- Installing: /usr/local/pgsql18/server/lib/timescaledb-2.29.1.so
-- Installing: /usr/local/pgsql18/server/lib/timescaledb.so
-- Installing: /usr/local/pgsql18/server/lib/timescaledb-tsl-2.29.1.so
root@ubuntu26:/usr/local/pgsql18/timescaledb/build#

4,安装检查

root@ubuntu26:/usr/local/pgsql18/timescaledb/build# ls /usr/local/pgsql18/server/lib | grep timescaled
timescaledb-2.29.1.so
timescaledb.so
timescaledb-tsl-2.29.1.so
root@ubuntu26:/usr/local/pgsql18/timescaledb/build#

相关的so文件会被编译到指定的PostgreSQL服务文件相关的目录中

image

image

5,PostgreSQL timescaledb扩展安装

1,修改配置,增加timescaledb选项

shared_preload_libraries = 'pg_wait_sampling timescaledb'

2,重启PostgreSQL服务,可以看到timescaledb的服务已启动:TimescaleDB Background Worker Launcher

root@ubuntu26:/usr/local/pgsql18/timescaledb/build# systemctl status postgresql9800
● postgresql9800.service - PostgreSQL database server
     Loaded: loaded (/etc/systemd/system/postgresql9800.service; enabled; preset: enabled)
     Active: active (running) since Wed 2026-08-05 16:08:27 CST; 7s ago
    Process: 426249 ExecStart=/usr/local/pgsql18/server/bin/pg_ctl start -D ${PGDATA} -s -w -t ${PGSTARTTIMEOUT} (code=exited, status=0/SUCCESS)
   Main PID: 426252 (postgres)
      Tasks: 13 (limit: 4543)
     Memory: 64.4M (peak: 64.6M)
        CPU: 179ms
     CGroup: /system.slice/postgresql9800.service
             ├─426252 /usr/local/pgsql18/server/bin/postgres -D /usr/local/pgsql18/pg9800/data
             ├─426253 "postgres: logger "
             ├─426254 "postgres: io worker 2"
             ├─426255 "postgres: io worker 1"
             ├─426256 "postgres: io worker 0"
             ├─426257 "postgres: checkpointer "
             ├─426258 "postgres: background writer "
             ├─426260 "postgres: walwriter "
             ├─426261 "postgres: autovacuum launcher "
             ├─426262 "postgres: archiver "
             ├─426263 "postgres: TimescaleDB Background Worker Launcher "
             ├─426264 "postgres: logical replication launcher "
             └─426279 "postgres: walsender logic_repl_user db01 192.168.152.138(51390) START_REPLICATION"

3,创建timescaledb扩展

SELECT * FROM pg_catalog.pg_available_extensions WHERE name = 'timescaledb';

name       |default_version|installed_version|comment                                                          |
-----------+---------------+-----------------+-----------------------------------------------------------------+
timescaledb|2.29.1         |                 |Enables scalable inserts and complex queries for time-series data|


create extension timescaledb;

SELECT * FROM pg_catalog.pg_extension   WHERE extname = 'timescaledb';

oid  |extname    |extowner|extnamespace|extrelocatable|extversion|extconfig                                                                                                                                                    |extcondition                                                                                                                     |
-----+-----------+--------+------------+--------------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
16562|timescaledb|      10|        2200|false         |2.29.1    |{16586,16587,16613,16630,16629,16654,16653,16679,16678,16705,16704,16730,16731,16818,16828,16863,16880,16892,16904,16911,16922,16933,16948,16963,16987,16999}|{"","WHERE id >= 1","","","","","","","","","","","WHERE id >= 1000"," WHERE key <> 'uuid' ","","","","","","","","","","","",""}|

6,测试timescale表

借助官方的示例代码,参考如下

-- Create a hypertable with automatic columnstore
CREATE TABLE sensor_data (
    time TIMESTAMPTZ NOT NULL,
    sensor_id TEXT NOT NULL,
    temperature DOUBLE PRECISION,
    humidity DOUBLE PRECISION,
    pressure DOUBLE PRECISION
) WITH (
    tsdb.hypertable
);

using column "time" as partitioning column


SET timescaledb.enable_direct_compress_insert = on;
INSERT INTO sensor_data (time, sensor_id, temperature, humidity, pressure)
SELECT
    time,
    'sensor_' || ((random() * 9)::int + 1),
    20 + (random() * 15),
    40 + (random() * 30),
    1000 + (random() * 50)
FROM generate_series(
    NOW() - INTERVAL '365 days',
    NOW(),
    INTERVAL '1 seconds'
) AS time;

select * from sensor_data limit 10;
time                      |sensor_id|temperature       |humidity          |pressure          |
--------------------------+---------+------------------+------------------+------------------+
2026-07-27 00:34:03.575656|sensor_1 | 32.25831513380627|  68.8591007840372| 1017.313888549137|
2026-07-27 00:33:03.575656|sensor_1 |21.894636128017986| 49.23075588070491|1046.1517435006408|
2026-07-27 00:32:16.575656|sensor_1 | 34.21962822461362| 43.60071252484682|1014.5919174258539|
2026-07-27 00:31:57.575656|sensor_1 | 24.12319071282495| 66.54173172428588|1035.1055760501472|
2026-07-27 00:31:54.575656|sensor_1 | 23.37397483955968| 53.53414295345004|1014.7109136515854|
2026-07-27 00:31:38.575656|sensor_1 |26.853405570228517|54.578271370292875|1049.8334087636094|
2026-07-27 00:31:36.575656|sensor_1 |28.958826190208292| 67.64419178335373|1049.6917391934157|

关于timescale几个有帮助的SQL

--查看超表的属性,是否允许压缩 / 列存(超表级开关)
SELECT
    hypertable_schema,
    hypertable_name,
    compression_enabled,          -- t = 已开启压缩/列存能力
    num_chunks,
    primary_dimension,
    primary_dimension_type
FROM timescaledb_information.hypertables
WHERE hypertable_name = 'sensor_data';

hypertable_schema|hypertable_name|compression_enabled|num_chunks|primary_dimension|primary_dimension_type  |
-----------------+---------------+-------------------+----------+-----------------+------------------------+
public           |sensor_data1   |true               |         1|time             |timestamp with time zone|




--查看超表的列存具体配置(segmentby / orderby / sparse index)
SELECT
    hypertable,
    segmentby,
    orderby,
    compress_interval_length
FROM timescaledb_information.hypertable_columnstore_settings
WHERE hypertable::text = 'sensor_data';

hypertable  |segmentby|orderby|compress_interval_length|
------------+---------+-------+------------------------+
sensor_data1|         |       |                        |





--查询一个超标的所有的chunk信息
SELECT show_chunks('sensor_data1');
select
	hypertable_name,
    chunk_schema,
    chunk_name,
    range_start,
    range_end,
    is_compressed,
    chunk_creation_time
FROM timescaledb_information.chunks
WHERE hypertable_name = 'sensor_data1'
ORDER BY range_start DESC;

hypertable_name|chunk_schema         |chunk_name        |range_start               |range_end                 |is_compressed|chunk_creation_time       |
---------------+---------------------+------------------+--------------------------+--------------------------+-------------+--------------------------+
sensor_data1   |_timescaledb_internal|_hyper_5_643_chunk|2026-07-30 08:00:00.000000|2026-08-06 08:00:00.000000|false        |2026-08-04 10:29:54.944838|






-- 启用列存(设备指标场景)
ALTER TABLE metrics SET (
    timescaledb.enable_columnstore,
    timescaledb.orderby = 'time DESC',
    timescaledb.segmentby = 'device_id'
);
-- metrics 表常按设备查,用 device_id 做 segmentby,时间降序排,查询跳 batch 更快。

--只改列存 chunk 合并间隔,不动其他
ALTER TABLE metrics SET (
    timescaledb.compress_chunk_time_interval = '24 hours'
);


-- 转换为列存,Once data is inserted into the columnstore we optimize the order and structure 
-- this compacts and orders the data in the chunks for optimal query performance and compression
DO $$
DECLARE ch TEXT;
BEGIN
    FOR ch IN SELECT show_chunks('sensor_data') LOOP
        CALL convert_to_columnstore(ch, recompress := true);
    END LOOP;
END $$;



-- 查询指定超表的列存 chunk 统计
-- 用于查看超表中哪些 chunk 已转为列存、各自占多大空间,以及行存/列存的比例;它是 2.18+ 版本中替代旧压缩统计函数的标准接口。
SELECT * FROM chunk_columnstore_stats('sensor_data');




--看是否真的有自动策略
SELECT
    job_id,
    application_name,
    config::text,
    scheduled,
    next_start
FROM timescaledb_information.jobs
WHERE hypertable_name = 'sensor_data1';

job_id|application_name         |config                                          |scheduled|next_start                |
------+-------------------------+------------------------------------------------+---------+--------------------------+
  1002|Columnstore Policy [1002]|{"hypertable_id": 5, "compress_after": "7 days"}|true     |2026-08-05 17:36:07.571074|




--timescaledb_information.jobs 里看到的 Columnstore / Compression Policy 确实是后台 job 记录,但它的 调度频率(schedule_interval)≠ 自动跟着 chunk_time_interval 走,默认有一套规则,且可以手动改。
--完全可以手动调整,不改就一直用默认值:

-- 改成每 1 小时扫一次
SELECT alter_job(1002, schedule_interval => INTERVAL '1 hour');

-- 改成每 6 小时扫一次
SELECT alter_job(1002, schedule_interval => INTERVAL '6 hours');

-- 暂停 job(不删策略)
SELECT alter_job(1002, scheduled => false);

-- 恢复
SELECT alter_job(1002, scheduled => true);

-- 固定时刻调度(如每小时第 15 分)
SELECT alter_job(1002,
  fixed_schedule => true,
  initial_start => '2026-08-05 10:15:00',
  next_start => '2026-08-05 11:15:00');