如何基于国产信创openEuler系统安装部署OpenTeleDB开源数据库的实战教程
基于信创 openEuler 系统安装部署 OpenTeleDB 开源数据库的实战教程
🏷️ 标签:
OpenTeleDBPostgreSQLopenEuler信创国产数据库源码编译📅 适用版本:OpenTeleDB v2.0 | openEuler 22.03 LTS
文章目录
一、前言
最近在数据库圈子里有个热议话题——OpenTeleDB 数据库开源了。大家都知道,随着云计算和数字化转型的推进,各大厂商纷纷加码开源数据库,力求在竞争中抢占先机。天翼云这次推出的 OpenTeleDB,无疑是个大亮点。
这款数据库基于中国电信在电信行业的实际需求进行深度优化,尤其是在解决 PostgreSQL 的并发连接瓶颈、存储空间膨胀和高可用切换等常见问题上做出了很大的改进。更值得注意的是,OpenTeleDB 与 PostgreSQL 高度兼容,支持轻松迁移,极大地降低了企业的迁移成本。此外,它还采用了木兰宽松许可证 v2,旨在与全球开发者共同推进开源关系型数据库的进步。
对那些已经在使用 PostgreSQL 的企业来说,这无疑是一个不容错过的升级选项!

二、部署环境
| 项目 | 配置 |
|---|---|
| 操作系统 | openEuler 22.03 LTS |
| 运行内存 | 8 GB |
| 磁盘大小 | 32 GB |

💡 提示:建议预留至少 20GB 磁盘空间用于源码编译和后续数据存储。
三、源码下载
首先,通过 Git 克隆 OpenTeleDB 的源代码,并进入解压后的目录。
git clone https://gitee.com/teledb/openteledb
解压后的目录结构如下:

四、安装依赖
接下来,安装编译 OpenTeleDB 所需的依赖包。执行以下命令一键安装:
sudo dnf install -y curl-devel libicu-devel pam-devel krb5-devel openldap-devel systemd-devel readline readline-devel zlib zlib-devel gettext gettext-devel openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel perl perl-devel tcl-devel uuid-devel gcc gcc-c++ make flex bison perl-ExtUtils* libcurl-devel asciidoc xmlto opensp mariadb-devel libtool libuuid-devel gflags-devel lcov libyaml-devel boost boost-devel libgsasl-devel cmake3 golang
安装依赖的过程如图所示:

⚠️ 注意:依赖包较多,安装过程可能需要几分钟,请确保网络连接正常。
五、设置数据库安装目录
在设置数据库的安装目录时,使用以下命令进行配置:
# 设置安装目录
export pg_install_dir=/home/openEuler/opendb/openTeleDB
export pg_data_dir=${pg_install_dir}/data
# 进入源码目录
cd openteledb-v2.0/

六、配置编译选项(关键步骤)
执行配置命令:
./configure --prefix=${pg_install_dir} --with-zstd --with-lz4 --with-openssl
6.1 常见问题一:ICU 库缺失
在配置过程中,可能会遇到如下错误:
checking for icu-uc icu-i18n... no
configure: error: ICU library not found

解决方案:安装 libicu 相关库
sudo dnf install libicu libicu-devel
6.2 常见问题二:lz4 库缺失
继续配置,可能还会遇到:
checking for liblz4... no
configure: error: Package requirements (liblz4)

解决方案:安装 lz4-devel 依赖包
sudo dnf install lz4-devel
6.3 配置成功
在解决上述依赖问题后,重新执行配置命令:
./configure --prefix=${pg_install_dir} --with-zstd --with-lz4 --with-openssl
成功的配置界面如下:

✅ 当看到
configure: creating ./config.status且无报错信息时,表示配置成功。
七、编译安装
配置完成后,开始编译和安装 OpenTeleDB:
make && make install
整个编译过程需要较长时间(视机器性能约 10~30 分钟),请耐心等待。

🕐 耗时提示:若使用 4 核 CPU,建议同步执行
make -j4加速编译。
八、初始化数据库
编译完成后,初始化数据库实例:
# 初始化数据库
${pg_install_dir}/bin/initdb -D ${pg_data_dir}
初始化成功的界面如下:

📌 初始化成功后会生成数据目录、配置文件(
postgresql.conf、pg_hba.conf等)及默认数据库。
九、启动数据库
执行以下命令启动数据库服务:
# 启动数据库
/home/openEuler/opendb/openTeleDB/bin/pg_ctl -D /home/openEuler/opendb/openTeleDB/data -l logfile start
启动成功的界面如下:

显示 server started 即表示启动成功。
十、查看运行状态
[openEuler@openEuler ~]$ /home/openEuler/opendb/openTeleDB/bin/pg_ctl -D /home/openEuler/opendb/openTeleDB/data -l logfile status
pg_ctl: server is running (PID: 125986)
/home/openEuler/opendb/openTeleDB/bin/postgres "-D" "/home/openEuler/opendb/openTeleDB/data"
[openEuler@openEuler ~]$ ps aux | grep 125986
openEul+ 125986 0.0 1.0 283364 83728 ? Ss 12月26 0:00 /home/openEuler/opendb/openTeleDB/bin/postgres -D /home/openEuler/opendb/openTeleDB/data
openEul+ 207597 0.0 0.0 21812 2000 pts/0 S+ 22:45 0:00 grep --color=auto 125986
[openEuler@openEuler ~]$ ps uxf | grep postgres
openEul+ 207626 0.0 0.0 21804 2000 pts/0 S+ 22:46 0:00 \_ grep --color=auto postgres
openEul+ 125986 0.0 1.0 283364 83728 ? Ss 12月26 0:00 /home/openEuler/opendb/openTeleDB/bin/postgres -D /home/openEuler/opendb/openTeleDB/data
openEul+ 125987 0.0 0.1 283500 7824 ? Ss 12月26 0:00 \_ postgres: checkpointer
openEul+ 125988 0.0 0.0 283524 5184 ? Ss 12月26 0:00 \_ postgres: background writer
openEul+ 125990 0.0 0.1 283364 9788 ? Ss 12月26 0:00 \_ postgres: walwriter
openEul+ 125991 0.0 0.1 284984 8076 ? Ss 12月26 0:00 \_ postgres: autovacuum launcher
openEul+ 125992 0.0 0.0 285584 7564 ? Ss 12月26 0:00 \_ postgres: undo discard process
openEul+ 125993 0.0 0.0 283532 5064 ? Ss 12月26 0:00 \_ postgres: undo launcher
openEul+ 125994 0.0 0.0 284960 6092 ? Ss 12月26 0:00 \_ postgres: logical replication launcher

🔍 可以看到 OpenTeleDB 保留了 PostgreSQL 经典的进程架构:Postmaster + Background Writer + WAL Writer + AutoVacuum 等,同时新增了
undo discard process和undo launcher等特性进程。
十一、OpenTeleDB 连接测试
数据库启动成功后,通过命令行或可视化工具进行连接验证。
11.1 本地终端连接
使用 psql 在本机直接连接 OpenTeleDB,确认服务端与端口正常可用:
${pg_install_dir}/bin/psql -U openEuler -d postgres

11.2 IDEA 可视化连接
在 IDEA(Database 工具窗口)中新增 PostgreSQL 数据源(OpenTeleDB 与 PostgreSQL 协议兼容),填写主机、端口、库名与账号信息后测试连接即可。

💡 连接参数参考:
- Host:
127.0.0.1- Port:
5432- Database:
postgres- User:
openEuler
十二、OpenTeleDB SQL 迁移测试
为了进一步验证兼容性,准备了一套 RuoYi 项目的 PostgreSQL SQL 文件,直接导入到 OpenTeleDB 中测试迁移效果。

从导入结果来看,18 秒就完成了整套 SQL 的执行,整体过程非常顺畅。

✅ 结论:OpenTeleDB 对标准 PostgreSQL SQL 语法兼容性良好,迁移风险低。
十三、Python 快速连接测试
使用 psycopg2 连接 OpenTeleDB(兼容 PostgreSQL 连接方式):
# coding=utf-8
#!/usr/bin/python
import psycopg2
from psycopg2 import OperationalError
def connect_to_db():
try:
# 使用 with 语句确保连接自动关闭
with psycopg2.connect(
database="postgres",
user="openEuler",
password="",
host="127.0.0.1",
port="5432"
) as conn:
print("连接数据库成功")
except OperationalError as e:
# 捕获具体的操作错误并输出详细信息
print(f"连接数据库出错,错误详细信息:{e}")
except Exception as e:
# 捕获其他未知的异常
print(f"发生了一个错误:{e}")
if __name__ == "__main__":
connect_to_db()
测试结果如下,显示连接成功:

🎯 验证结论:OpenTeleDB 在使用体验和协议层面与 PostgreSQL 保持高度兼容,迁移成本相对较低。
十四、踩坑汇总
| 序号 | 错误现象 | 解决方案 |
|---|---|---|
| 1 | checking for icu-uc icu-i18n... noconfigure: error: ICU library not found |
安装 libicu 相关依赖:sudo dnf install libicu libicu-devel |
| 2 | checking for liblz4... noconfigure: error: Package requirements (liblz4) |
安装 lz4-devel 依赖包:sudo dnf install lz4-devel |
| 3 | -bash: psql:未找到命令 |
使用安装目录中 bin 下的 psql 完整路径启动:${pg_install_dir}/bin/psql |
十五、总结
通过本文,我们完整演示了在 openEuler 22.03 环境下从源码编译安装 OpenTeleDB 的全过程:
- ✅ 下载源码并安装编译依赖
- ✅ 配置编译参数并解决常见报错
- ✅ 编译安装与数据库初始化
- ✅ 启动服务并查看运行状态
- ✅ 完成命令行连接、IDEA 可视化连接
- ✅ SQL 导入迁移与 Python 快速连接验证
整体来看,OpenTeleDB 对 PostgreSQL 的兼容性表现良好,适合在国产化环境下进行部署与迁移验证。其在并发处理、存储管理和高可用方面的优化,也为企业级应用提供了更可靠的选择。

十六、参考链接
| 资源 | 链接 |
|---|---|
| 🌐 OpenTeleDB 开源社区 | https://openteledb.ctyun.cn/open/index |
| 📦 OpenTeleDB 代码仓库 | https://gitee.com/teledb/openteledb |
📝 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
💬 交流讨论:欢迎在评论区留言交流,如有疑问或建议,我会及时回复!
⭐ 如果本文对你有帮助,别忘了点赞 + 收藏 + 关注,一键三连支持一下~
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)