温馨提示×

centos如何设置postgresql自启

小樊
41
2026-09-27 14:11:14
栏目: 云计算

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


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

1. 确认 PostgreSQL 服务名

一般官方 RPM 安装后服务名类似:

systemctl list-unit-files | grep postgres

常见服务名:

  • postgresql.service
  • postgresql-15.service(带版本号)

2. 设置开机自启

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

3. 启动服务

sudo systemctl start postgresql

4. 查看状态

systemctl status postgresql

二、CentOS 6(使用 service,老系统)

chkconfig postgresql on
service postgresql start

三、源码安装 PostgreSQL 的情况

如果是源码编译安装,没有 systemd 服务文件,需要手动创建:

1. 创建 systemd 服务文件

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

示例内容(按实际路径修改):

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

[Service]
Type=forking
User=postgres
Group=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. 重载并启用

sudo systemctl daemon-reload
sudo systemctl enable postgresql
sudo systemctl start postgresql

四、常见问题排查

1. 启动失败

查看日志:

journalctl -u postgresql

或:

/var/lib/pgsql/15/data/log/

2. 数据目录权限问题

PostgreSQL 必须用 postgres 用户运行:

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

3. 端口未监听

检查 postgresql.conf:

listen_addresses = '*'

如果你能告诉我:

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

我可以给你完全对应你环境的命令。

0 踩