如果您的局域网无法连接外网,在内网PostgreSQL 16 上 离线安装 TimescaleDB,你可以按照以下步骤进行:
1.方案概览
离线安装 TimescaleDB 的核心思路是: 在有网络的机器上准备好依赖包、源码或编译好的
.so插件文件等,拷贝到目标机器完成安装。
2.方案一:使用源码编译安装(推荐,适用于 Linux)
2.1:在有网络的机器上准备好构建环境
在一台可以联网的 Linux 机器上(推荐和目标环境一致,如同为 Rocky Linux 8),执行:
# 安装构建依赖(确保版本匹配)
sudo dnf install -y postgresql16-devel gcc cmake make git
2.2:下载 TimescaleDB 源码
git clone https://github.com/timescale/timescaledb.git
cd timescaledb
# checkout 对应版本,例如 PostgreSQL 16 支持的最新版本
git checkout 2.14.2
2.3:编译 TimescaleDB
./bootstrap -DPROJECT_INSTALL_METHOD="package"
cd build
make
make install DESTDIR=/tmp/timescaledb_offline
/tmp/timescaledb_offline 中就会生成类似如下目录结构:
/tmp/timescaledb_offline/
├── usr/
│ ├── local/
│ │ ├── lib/postgresql/timescaledb.so
│ │ └── share/postgresql/extension/...
2.4:将上述目录拷贝到目标无法联网的局域网机器
拷贝后手动复制:
# 拷贝 .so 文件
cp /tmp/timescaledb_offline/usr/local/lib/postgresql/timescaledb.so /usr/pgsql-16/lib/
# 拷贝扩展SQL和控制文件
cp /tmp/timescaledb_offline/usr/local/share/postgresql/extension/*timescaledb* /usr/pgsql-16/share/extension/
2.5:在目标机器上启用 TimescaleDB
进入 PostgreSQL:
CREATE EXTENSION timescaledb;
⚠ 注意事项
PostgreSQL 安装路径可能不是
/usr/pgsql-16/,可通过以下命令查看:
pg_config --libdir
pg_config --sharedir
3. 方案二:离线打包 RPM/DEB 包安装(适用于标准系统)
如果你想使用系统包管理器,可以在有网络的机器上执行:
3.1 对于 RHEL/CentOS/Rocky Linux:
# 下载 RPM 安装包及依赖
dnf download --resolve timescaledb-2.14.2-postgresql-16
会下载 .rpm 包及其依赖包。
然后将这些 .rpm 拷贝到目标机器,执行:
sudo dnf install *.rpm
3.2 验证安装
进入 psql:
SELECT * FROM pg_available_extensions WHERE name = 'timescaledb';
CREATE EXTENSION timescaledb;
SELECT extversion FROM pg_extension WHERE extname = 'timescaledb';
3.3 补充工具包
你可能还需要离线准备以下内容:
timescaledb_toolkit(可选,类似函数库)timescaledb-tune(建议第一次部署时使用,但不是必须)
4 总结
| 方法 | 说明 | 适用 |
|---|---|---|
源码编译 + 拷贝 .so 和扩展文件 | 最灵活,不依赖操作系统包管理 | 所有 Linux 平台 |
| 离线打包 RPM/DEB 安装 | 管理方便、升级容易 | RHEL/Debian 系统 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




