走啊走
加油

在轻量服务器上如何自行部署PostgreSQL数据库?

服务器价格表

在轻量服务器(如阿里云、腾讯云的轻量应用服务器,或VPS)上自行部署 PostgreSQL 数据库是一个常见且实用的操作。以下是详细的步骤指南,适用于基于 Ubuntu/Debian 系统的轻量服务器。


✅ 一、准备工作

  1. 登录服务器
    使用 SSH 登录你的轻量服务器:

    ssh username@your_server_ip

    (例如:ssh ubuntu@123.45.67.89

  2. 更新系统包

    sudo apt update && sudo apt upgrade -y

✅ 二、安装 PostgreSQL

1. 安装 PostgreSQL(以 Ubuntu 20.04/22.04 为例)

sudo apt install postgresql postgresql-contrib -y

postgresql-contrib 包含一些有用的附加功能。

2. 启动并启用开机自启

sudo systemctl start postgresql
sudo systemctl enable postgresql

检查状态:

sudo systemctl status postgresql

✅ 三、配置 PostgreSQL

1. 切换到 postgres 用户

PostgreSQL 默认创建一个名为 postgres 的系统用户和数据库用户。

sudo -i -u postgres

2. 进入 PostgreSQL 命令行

psql

3. 设置 postgres 用户密码(推荐)

password postgres

输入并确认新密码。

示例密码:mypassword(请使用强密码)

4. 退出 psql

q

再退出 postgres 用户:

exit

✅ 四、创建新数据库和用户(可选但推荐)

重新进入 postgres shell:

sudo -u postgres psql

执行以下 SQL 创建用户和数据库:

CREATE USER myuser WITH PASSWORD 'strongpassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

替换 myusermydb 为你的用户名和数据库名。

退出:

q

✅ 五、允许远程连接(如果需要从外部访问)

⚠️ 注意:开放远程访问需谨慎,确保防火墙和密码安全。

1. 修改 postgresql.conf

sudo nano /etc/postgresql/*/main/postgresql.conf

找到并修改:

listen_addresses = 'localhost'

改为:

listen_addresses = '*'

如果你只希望允许特定 IP,可以写成 'localhost,192.168.1.100'

2. 配置客户端认证文件 pg_hba.conf

sudo nano /etc/postgresql/*/main/pg_hba.conf

在文件末尾添加一行允许远程连接(示例允许所有 IP 使用密码登录):

# IPv4 remote connections
host    all             all             0.0.0.0/0               md5

更安全的做法是限制特定 IP 段,如 123.45.67.89/32

3. 重启 PostgreSQL 生效

sudo systemctl restart postgresql

✅ 六、配置防火墙(开放 5432 端口)

如果使用 ufw

sudo ufw allow 5432/tcp

如果是云服务器(如腾讯云/阿里云):

还需在 控制台安全组 中放行 入站规则 的 TCP 5432 端口。


✅ 七、测试远程连接

使用本地工具(如 DBeaver、Navicat 或 psql)连接:

  • 主机:你的服务器公网 IP
  • 端口:5432
  • 数据库:mydb
  • 用户:myuser
  • 密码:你设置的密码

✅ 八、安全建议

  1. 不要使用默认的 postgres 用户进行远程连接
  2. 使用强密码
  3. 限制远程访问的 IP 范围
  4. 定期备份数据库
    pg_dump -U myuser -h localhost mydb > backup.sql
  5. 考虑使用 SSL 加密连接(生产环境)

✅ 九、常用命令汇总

功能 命令
启动 PostgreSQL sudo systemctl start postgresql
重启服务 sudo systemctl restart postgresql
查看状态 sudo systemctl status postgresql
登录数据库 sudo -u postgres psql
退出 psql q
列出数据库 l
切换数据库 c dbname

✅ 总结

在轻量服务器上部署 PostgreSQL 的关键步骤:

  1. 安装 PostgreSQL
  2. 配置本地访问和用户
  3. 如需远程访问,修改配置文件 + 防火墙
  4. 注意安全性与备份

只要资源允许(轻量服务器通常 1~2GB 内存足够运行小型 PostgreSQL 实例),完全可以胜任开发、测试或中小型生产环境。


如有具体系统版本或需求(如 CentOS、Docker 部署等),可进一步说明,我可以提供对应方案。