返回博客
2026年8月3日0 阅读3 分钟阅读开发者

ubuntu卸载PG16安装PG18

# Ubuntu 彻底卸载 PostgreSQL 16 + 安装 PostgreSQL 18 完整流程 ## 一、停止 PostgreSQL 16 服务 ```bash sudo systemctl ...

Ubuntu 彻底卸载 PostgreSQL 16 + 安装 PostgreSQL 18 完整流程

一、停止 PostgreSQL 16 服务


      
sudo systemctl stop postgresql
sudo systemctl disable postgresql

二、完全卸载 PG16(含配置、数据、依赖)

1. 卸载软件包


      
# 删除pg16所有相关包
sudo apt remove --purge postgresql-16 postgresql-client-16 postgresql-contrib-16 -y
# 删除管理工具
sudo apt purge postgresql-client-common postgresql-common -y


# 清理无用依赖
sudo apt autoremove -y
# 清理缓存
sudo apt clean

2. 删除残留数据目录(重要!旧数据库数据全部清空,提前备份!)


      
# 删除数据目录
sudo rm -rf /var/lib/postgresql/16
# 删除配置目录
sudo rm -rf /etc/postgresql/16
# 删除日志
sudo rm -rf /var/log/postgresql

3. 确认无残留


      
dpkg -l | grep postgresql
# 无任何16开头包即为卸载干净

三、安装 PostgreSQL 18 官方源(Ubuntu 标准官方源没有PG18,必须添加PG官方仓库)

1. 安装依赖工具


      
sudo apt update
sudo apt install gnupg2 curl ca-certificates -y

2. 导入PG官方GPG密钥


      
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

3. 添加对应Ubuntu版本的PG18源


      
echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

4. 更新软件源


      
sudo apt update

四、安装 PostgreSQL 18


      
sudo apt install postgresql-18 postgresql-client-18 postgresql-contrib-18 -y

五、基础初始化与验证

1. 启动并开机自启


      
sudo systemctl start postgresql
sudo systemctl enable postgresql

2. 查看版本(两种方式)


      
# 终端外部查看客户端版本
psql -V

# 进入数据库查看服务端版本
sudo -u postgres psql
SELECT version();
\q

3. 切换postgres用户登录(默认账号)


      
sudo -i -u postgres
psql

六、常用配置说明

  1. PG18 配置目录:/etc/postgresql/18/main/
  2. 数据存储目录:/var/lib/postgresql/18/main/
  3. 修改密码示例(psql内执行)

      
ALTER USER postgres WITH PASSWORD '你的密码';

七、数据迁移补充(如果你需要保留旧数据)

如果不想删除PG16数据,不要执行上面 rm -rf 删除目录命令,正确迁移步骤:

  1. 安装PG18
  2. 使用 pg_dump 导出16全库备份
  3. 导入到PG18新实例
  4. 确认数据正常后再卸载PG16

简化版 安装 PostgreSQL 18

① 安装密钥与官方源


      
sudo apt update
sudo apt install gnupg2 curl ca-certificates -y
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update

② 安装 PG18


      
sudo apt install postgresql-18 postgresql-client-18 postgresql-contrib-18 -y

③ 启动、设置开机自启


      
sudo systemctl start postgresql
sudo systemctl enable postgresql

④ 验证版本


      
# 客户端版本
psql -V
# 服务端版本
sudo -u postgres psql -c "SELECT version();"