温馨提示×

centos怎么设置postgresql自启

小樊
36
2026-10-06 08:40:34
栏目: 云计算

在 CentOS 上设置 PostgreSQL 开机自启动,主要取决于你使用的 CentOS 版本 以及 PostgreSQL 的安装方式(系统自带仓库 / 官方 RPM / 源码编译)。下面按常见情况说明。


一、CentOS 7 / 8(使用 systemd,最常见)

1. 确认 PostgreSQL 服务名

一般服务名类似:

systemctl list-unit-files | grep postgres

常见名称:

  • postgresql.service
  • postgresql-14.service(版本相关)

2. 设置开机自启

sudo systemctl enable postgresql
# 或指定版本
sudo systemctl enable postgresql-14

3. 立即启动(可选)

sudo systemctl start postgresql

4. 查看状态

systemctl status postgresql

二、CentOS 6 或更早(使用 chkconfig)

chkconfig postgresql on
service postgresql start

三、通过官方 PostgreSQL RPM 安装的情况

如果你是用 EnterpriseDB / PGDG 安装的:

# 初始化(仅第一次)
/usr/pgsql-14/bin/postgresql-14-setup initdb

# 开机自启
systemctl enable postgresql-14
systemctl start postgresql-14

四、源码编译安装(无 systemd 服务)

1. 创建 systemd 服务文件

sudo vi /etc/systemd/system/postgresql.service

示例:

[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking
User=postgres
ExecStart=/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
ExecStop=/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. 重载并启用

systemctl daemon-reexec
systemctl enable postgresql
systemctl start postgresql

五、常见问题排查

1. 自启失败

journalctl -u postgresql

2. 数据目录权限

PostgreSQL 必须用 postgres 用户运行:

chown -R postgres:postgres /var/lib/pgsql

3. 开机但连不上

检查:

listen_addresses = '*'

在 postgresql.conf 中配置。


如果你能告诉我:

  • CentOS 版本
  • PostgreSQL 版本
  • 安装方式(yum / 源码 / docker)

我可以给你更精确的一条命令方案。

0 踩