腾讯云轻量服务器支持自建PostgreSQL吗?怎么配置?

是的,腾讯云轻量应用服务器(Tencent Cloud Lighthouse)完全支持自建 PostgreSQL。

轻量应用服务器本质上是一台精简版的云服务器(CVM),拥有完整的 Linux 操作系统权限。你可以像在普通 CVM 上一样,通过命令行安装、配置和管理任何开源数据库软件,包括 PostgreSQL。

以下是基于 Ubuntu/DebianCentOS/Rocky Linux 两种主流系统的详细配置指南:


第一步:登录并更新系统

首先通过 SSH 登录到你的轻量服务器。无论使用哪种系统,建议先更新软件源以确保安全补丁最新。

  • Ubuntu/Debian:
    sudo apt update && sudo apt upgrade -y
  • CentOS/Rocky Linux:
    sudo yum update -y

第二步:安装 PostgreSQL

方案 A:使用 Ubuntu/Debian 官方仓库(推荐)

这是最简单的方式,通常能直接安装到较新的稳定版本。

  1. 导入 GPG 密钥并添加仓库:

    # 以安装 PostgreSQL 15 为例,如需其他版本请修改版本号
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    sudo apt update
  2. 安装 PostgreSQL:

    sudo apt install postgresql postgresql-contrib -y
  3. 启动服务并设置开机自启:

    sudo systemctl start postgresql
    sudo systemctl enable postgresql

方案 B:使用 CentOS/Rocky Linux (YUM/DNF)

CentOS 默认源中的 PostgreSQL 版本可能较旧,建议使用官方 PGDG 仓库。

  1. 安装 PGDG 仓库:

    sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  2. 安装指定版本(例如 PostgreSQL 15):

    sudo dnf install postgresql15-server -y
  3. 初始化数据库并启动:

    # 初始化数据库集群
    sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
    
    # 启动服务
    sudo systemctl start postgresql-15
    sudo systemctl enable postgresql-15

第三步:配置远程访问与防火墙

默认情况下,PostgreSQL 只允许本地连接。若需从外部(如你的本地电脑或另一台服务器)连接,需要进行以下配置:

1. 修改监听地址 (postgresql.conf)

编辑配置文件,将 listen_addresses 改为 '*'(允许所有 IP)或具体的内网 IP。

  • Ubuntu/Debian: /etc/postgresql/<version>/main/postgresql.conf
  • CentOS: /var/lib/pgsql/15/data/postgresql.conf (路径可能略有不同,可用 find 查找)
# 找到这一行并取消注释,修改为
listen_addresses = '*'

2. 修改认证方式 (pg_hba.conf)

编辑此文件以允许特定 IP 或网段连接。

  • Ubuntu/Debian: /etc/postgresql/<version>/main/pg_hba.conf
  • CentOS: /var/lib/pgsql/15/data/pg_hba.conf

在文件末尾添加一行(允许来自任意 IP 的连接,生产环境建议替换 0.0.0.0/0 为具体 IP 段):

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5

(注:md5 表示密码验证。若使用更安全的 scram-sha-256 也可)

3. 重启 PostgreSQL 服务

使配置生效:

sudo systemctl restart postgresql
# 或 CentOS
sudo systemctl restart postgresql-15

4. 配置腾讯云轻量防火墙

这是最关键的一步。轻量服务器的控制台自带“防火墙”功能,必须放行数据库端口(默认 5432)。

  1. 登录 腾讯云控制台
  2. 进入 轻量应用服务器 页面。
  3. 点击你的实例名称,进入详情页。
  4. 找到 “防火墙” 选项卡(注意:不是云防火墙,是轻量自带的简易防火墙)。
  5. 点击 “添加入方向规则”
    • 协议类型: TCP
    • 端口范围: 5432
    • 授权对象: 0.0.0.0/0 (允许所有 IP,生产环境建议仅填写你固定的公网 IP)
    • 策略: 允许
  6. 保存后,防火墙规则即刻生效。

第四步:创建用户与测试连接

1. 切换到 postgres 用户并修改密码

sudo -i -u postgres
psql
ALTER USER postgres WITH PASSWORD '你的强密码';
q
exit

2. 本地测试连接

在服务器上测试是否成功:

psql -U postgres -h localhost -W

如果输入密码后进入 postgres=# 提示符,说明本地正常。

3. 远程连接测试

在你的本地电脑(Windows/Mac/Linux)上使用客户端工具(如 DBeaver, pgAdmin, Navicat 或命令行 psql)进行连接:

  • 主机 IP: 你的轻量服务器公网 IP
  • 端口: 5432
  • 用户名: postgres
  • 密码: 刚才设置的密码

💡 重要安全与维护建议

  1. 限制 IP 访问:在生产环境中,切勿pg_hba.conf 中的 ADDRESS 设置为 0.0.0.0/0,除非你有特殊的白名单需求。最好只允许特定的业务服务器 IP 或你自己的办公 IP 访问。
  2. 数据备份:轻量服务器磁盘空间有限且容易误操作。务必定期使用 pg_dump 将数据导出到对象存储(COS)或其他备份位置。
    pg_dump -U postgres my_database > backup.sql
  3. 内存优化:PostgreSQL 比较吃内存。轻量服务器如果是低配版(如 2GB 内存),建议在 postgresql.conf 中适当调小 shared_bufferswork_mem 参数,防止 OOM(内存溢出)导致服务崩溃。
  4. 替代方案考虑:如果你的业务对数据库的高可用性、自动备份、主从切换有极高要求,且不想维护运维工作,可以考虑直接使用腾讯云的 云数据库 PostgreSQL (TencentDB for PG) 托管服务,虽然成本略高,但免去了运维麻烦。
未经允许不得转载:CLOUD技术博 » 腾讯云轻量服务器支持自建PostgreSQL吗?怎么配置?