TencentOS Server 3.3 安装 PostgreSQL 18 完整指南

适用环境:TencentOS Server 3.3(基于 RHEL / CentOS 8)

安装版本:**PostgreSQL 18.x(官方 PGDG 仓库)**​

⚠️ 系统自带 Python / 包不受影响,安全可回滚


一、清理旧仓库(如曾尝试安装过)

复制代码
复制代码
复制代码
sudo rm -f /etc/yum.repos.d/pgdg*
sudo yum clean all

二、安装 PostgreSQL 官方 EL8 仓库 RPM

复制代码
复制代码
复制代码
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

TencentOS 3.3 有时不会生成 .repo文件,下一步手动补写仓库配置


三、手动创建 PostgreSQL 18 YUM 仓库(关键步骤)

复制代码
复制代码
复制代码
sudo tee /etc/yum.repos.d/pgdg18.repo > /dev/null << 'EOF'
[pgdg18]
name=PostgreSQL 18 for RHEL 8 - x86_64
baseurl=https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-8-x86_64
enabled=1
gpgcheck=1
gpgkey=https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG
module_hotfixes=1
EOF

刷新缓存:

复制代码
复制代码
复制代码
sudo yum clean all
sudo yum makecache

验证仓库可用:

复制代码
复制代码
复制代码
yum repolist enabled | grep pgdg
# 应看到 pgdg18

四、安装 PostgreSQL 18(跳过 GPG 校验防 404)

复制代码
复制代码
复制代码
sudo yum install -y postgresql18-server postgresql18 --nogpgcheck

✅ 成功标志:

复制代码
复制代码
复制代码
Installed:
  postgresql18-18.4-2PGDG.rhel8.10.x86_64
  postgresql18-libs-18.4-2PGDG.rhel8.10.x86_64
  postgresql18-server-18.4-2PGDG.rhel8.10.x86_64
Complete!

五、初始化数据库

复制代码
复制代码
复制代码
sudo /usr/pgsql-18/bin/postgresql-18-setup initdb

✅ 期望输出:

复制代码
复制代码
复制代码
Initializing database ... OK

六、启动并设置开机自启

复制代码
复制代码
复制代码
sudo systemctl enable postgresql-18
sudo systemctl start postgresql-18
sudo systemctl status postgresql-18

✅ 应看到:active (running)


七、验证安装

复制代码
复制代码
复制代码
psql --version
# psql (PostgreSQL) 18.x

八、基础使用(首次登录)

复制代码
复制代码
复制代码
su - postgres
psql

示例建库:

复制代码
复制代码
复制代码
CREATE DATABASE testdb;
\q
exit

九、开启远程访问(可选 / 生产建议收紧)

1️⃣ 修改监听地址

复制代码
复制代码
复制代码
sudo vi /var/lib/pgsql/18/data/postgresql.conf
复制代码
复制代码
复制代码
listen_addresses = '*'

2️⃣ 修改认证规则

复制代码
复制代码
复制代码
sudo vi /var/lib/pgsql/18/data/pg_hba.conf

追加:

复制代码
复制代码
复制代码
host  all  all  0.0.0.0/0  md5

3️⃣ 重启

复制代码
复制代码
复制代码
sudo systemctl restart postgresql-18

4️⃣ 防火墙 / 安全组

复制代码
复制代码
复制代码
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

👉 同时在腾讯云控制台 → 安全组放行 TCP 5432


十、常见问题速查

问题 原因 解决
404 repomd.xml TencentOS $releasever=3.3 手动写 pgdg18.repo(第三节)
No such file pgdg*.repo RPM 未生成 repo 按第三节手写
GPG key 404 云环境拉不到公钥 使用 --nogpgcheck
pip: command not found venv 未激活 source venv/bin/activate

✅ 一句话总结

TencentOS 3.3 用 EL8 仓库 → 手写 pgdg18.repo → --nogpgcheck 安装 → initdb → systemctl 启动

相关推荐
2603_965148118 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl9 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
xfhuangfu10 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT10 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData10 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean11 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean11 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X11 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.11 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠11 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle