一月 27, 2026指南
如何在 Linux 服务器上安装 PostgreSQL
关于在 Ubuntu 和 CentOS 上安装、配置和保护 PostgreSQL 数据库服务器的完整指南。

PostgreSQL 是一个强大的开源关系数据库管理系统,以其可靠性、功能丰富性和标准合规性而闻名。本指南将帮助您在 Hiddence Linux 服务器上安装和配置 PostgreSQL。
在 Ubuntu/Debian 上安装 PostgreSQL
PostgreSQL 在默认存储库中可用。安装最新版本:
bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y
# 启动并启用 PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
# 验证安装
sudo systemctl status postgresql
psql --version在 RHEL / CentOS / AlmaLinux / Rocky Linux 上安装 PostgreSQL
对于基于 RHEL 的发行版,您需要先添加 PostgreSQL 存储库:
bash
# 安装 PostgreSQL 存储库
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 对于 CentOS 8/Rocky Linux 8,使用:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装 PostgreSQL
sudo dnf install -y postgresql15-server postgresql15
# 初始化数据库
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# 启动并启用 PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
# 验证安装
sudo systemctl status postgresql-15
psql --version验证安装
bash
# 检查 PostgreSQL 状态
sudo systemctl status postgresql
# 检查 PostgreSQL 版本
psql --version
# 连接到 PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql
# 连接到 PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres保护 PostgreSQL
为 postgres 用户设置密码:
bash
# 连接到 PostgreSQL
sudo -u postgres psql
# 为 postgres 用户设置密码
ALTER USER postgres PASSWORD '您的强密码';
# 退出 PostgreSQL
\q创建数据库和用户
bash
# 以 postgres 用户身份连接
sudo -u postgres psql
# 创建数据库
CREATE DATABASE myapp_db;
# 创建用户
CREATE USER app_user WITH PASSWORD '强密码';
# 授予权限
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;
# 退出
\q管理用户
bash
# 连接到 PostgreSQL
sudo -u postgres psql
# 列出所有用户
\du
# 创建新用户
CREATE USER newuser WITH PASSWORD '密码';
# 授予权限
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;
# 撤销权限
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;
# 删除用户
DROP USER newuser;启用远程连接
要允许远程连接,请编辑 PostgreSQL 配置文件:
bash
# 编辑 pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf
# 编辑 pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf
# 添加行:
host all all 0.0.0.0/0 md5
# 编辑 postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf
# 编辑 postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf
# 更改:
listen_addresses = '*'
# 重启 PostgreSQL
sudo systemctl restart postgresql基本 PostgreSQL 命令
bash
# 连接到数据库
psql -U app_user -d myapp_db
# 列出数据库
\l
# 连接到数据库
\c database_name
# 列出表
\dt
# 描述表
\d table_name
# 执行 SQL 文件
psql -U app_user -d myapp_db -f script.sql
# 备份数据库
pg_dump -U app_user myapp_db > backup.sql
# 恢复数据库
psql -U app_user -d myapp_db < backup.sql有用提示
- 始终为数据库用户使用强密码
- 在 pg_hba.conf 中将远程访问限制为特定 IP 地址
- 定期使用 pg_dump 备份您的数据库
- 监控 PostgreSQL 日志:/var/log/postgresql/ (Ubuntu) 或 /var/lib/pgsql/15/data/log/ (CentOS)
- 对高流量应用程序使用连接池 (pgBouncer)
- 保持 PostgreSQL 更新到最新稳定版本以获得安全补丁