You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu编译Rust pgx包timescaledb-toolkit后如何迁移至CentOS7并安装到PostgreSQL

TimescaleDB Toolkit 跨系统迁移安装指南

前置校验

  • 确认编译产物与CentOS7兼容:CentOS7默认glibc版本为2.17,Ubuntu新版本默认编译的二进制依赖更高版本glibc,若后续运行出现GLIBC_xxx not found报错,需要重新在Ubuntu上使用cargo build --release --target x86_64-unknown-linux-musl做静态编译,或直接在centos:7容器环境中编译避免兼容问题
  • 确认CentOS7上安装的PostgreSQL主版本,与Ubuntu编译时依赖的PostgreSQL主版本完全一致,否则会出现扩展加载失败问题

安装步骤

  1. 提取所需安装文件
    从你编译好的产物中仅需要提取两类文件:
  • 从target/release目录下提取后缀为.so的TimescaleDB Toolkit扩展动态库文件
  • 从crates/timescaledb-toolkit/目录下提取后缀为.control的扩展控制文件,以及所有后缀为.sql的扩展功能脚本
  1. 上传文件到CentOS7指定目录
    先在CentOS7上执行以下命令获取PostgreSQL的对应目录:
# 获取共享文件目录
pg_config --sharedir
# 获取动态库目录
pg_config --pkglibdir

上传规则:

  • 所有.control和.sql文件上传到共享目录下的extension子目录,默认路径通常为/usr/pgsql-<你的PG版本号>/share/extension/
  • .so动态库文件上传到动态库目录,默认路径通常为/usr/pgsql-<你的PG版本号>/lib/
  1. 配置文件权限
    上传完成后执行以下命令设置正确权限:
# 替换路径为你实际的文件路径
chmod 755 /usr/pgsql-<你的PG版本号>/lib/timescaledb_toolkit-*.so
chmod 644 /usr/pgsql-<你的PG版本号>/share/extension/timescaledb_toolkit-*.{control,sql}
chown postgres:postgres /usr/pgsql-<你的PG版本号>/lib/timescaledb_toolkit-*.so /usr/pgsql-<你的PG版本号>/share/extension/timescaledb_toolkit-*.{control,sql}
  1. PostgreSQL内安装验证
    切换为postgres用户进入psql命令行,执行以下命令完成安装与校验:
-- 安装扩展
CREATE EXTENSION timescaledb_toolkit;
-- 验证安装结果
SELECT extname, extversion FROM pg_extension WHERE extname = 'timescaledb_toolkit';

内容的提问来源于stack exchange,提问作者kinkajou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:09:02