温馨提示×

CentOS如何彻底删除PostgreSQL

小樊
43
2026-08-31 03:42:32
栏目: 云计算

CentOS 上彻底删除 PostgreSQL(包括服务、数据、配置、仓库),可按下面步骤操作。
下面以 CentOS 7 / 8 / Stream 为例,适用于 rpm / yum / dnf 安装方式。


一、确认 PostgreSQL 安装情况

rpm -qa | grep postgres
# 或
yum list installed | grep postgres

查看运行中的服务:

systemctl status postgresql*

二、停止 PostgreSQL 服务

sudo systemctl stop postgresql
sudo systemctl disable postgresql

如果是多个版本(如 postgresql-13):

sudo systemctl stop postgresql-13
sudo systemctl disable postgresql-13

三、卸载 PostgreSQL 软件包

CentOS 7

sudo yum remove postgresql*

CentOS 8 / Stream

sudo dnf remove postgresql*

如果只想精确删除:

sudo yum remove postgresql postgresql-server postgresql-contrib postgresql-libs

四、删除 PostgreSQL 数据目录(⚠重要)

默认数据目录一般在:

/var/lib/pgsql/

或(指定版本):

/var/lib/pgsql/13/

删除:

sudo rm -rf /var/lib/pgsql

确认没有重要数据后再执行


五、删除配置文件

sudo rm -rf /etc/postgresql
sudo rm -f /etc/systemd/system/postgresql*.service

六、删除用户和组(可选)

sudo userdel -r postgres
sudo groupdel postgres

如果提示用户正在使用,可先确认无进程再删除。


七、删除 PostgreSQL YUM 仓库(如果是官方仓库)

sudo rm -f /etc/yum.repos.d/pgdg*.repo

然后清理缓存:

sudo yum clean all
# 或
sudo dnf clean all

八、验证是否彻底删除

which psql
psql --version
systemctl list-units | grep postgres
rpm -qa | grep postgres

如果都没有输出,说明已彻底删除。


九、常见残留位置(可选检查)

/usr/lib/systemd/system/postgresql*.service
/var/log/postgresql
/tmp/.s.PGSQL.*

附:如果是 Docker / 编译安装

  • Dockerdocker rm -f 容器名
  • 源码安装
make uninstall
rm -rf /usr/local/pgsql

如果你愿意,可以告诉我:

  • CentOS 版本
  • PostgreSQL 安装方式(yum / 官方 repo / docker)
  • 是否有多个版本共存

我可以给你一套 完全适配你环境的删除命令

0