timescaledb 扩展 PostgreSQL 18+ 版本下源码编译安装
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服务文件相关的目录中


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');
浙公网安备 33010602011771号