在 CentOS 上启动 PostgreSQL,常见场景分为 CentOS 7+(systemd) 和 CentOS 6(init.d)。下面以 CentOS 7 / 8 / Stream 为主(目前最常见)。
psql --version
或
rpm -qa | grep postgres
如果未安装,可先安装(以 PostgreSQL 14 为例):
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
不同版本路径可能不同,如
postgresql-15
sudo systemctl start postgresql-14
sudo systemctl enable postgresql-14
sudo systemctl status postgresql-14
✅ 看到 active (running) 表示启动成功
PostgreSQL 默认使用 postgres 系统用户:
sudo -i -u postgres
psql
或:
sudo -u postgres psql
查看日志:
sudo journalctl -xe -u postgresql-14
或:
cat /var/lib/pgsql/14/data/log/*.log
ss -lntp | grep 5432
如未监听,检查:
/var/lib/pgsql/14/data/postgresql.conf
确认:
listen_addresses = '*'
port = 5432
编辑 pg_hba.conf:
/var/lib/pgsql/14/data/pg_hba.conf
添加:
host all all 0.0.0.0/0 md5
然后重启:
sudo systemctl restart postgresql-14
service postgresql initdb
service postgresql start
chkconfig postgresql on
如果你愿意,可以告诉我:
cat /etc/centos-release)我可以给你更精确的解决方案。