返回博客
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
六、常用配置说明
- PG18 配置目录:
/etc/postgresql/18/main/ - 数据存储目录:
/var/lib/postgresql/18/main/ - 修改密码示例(psql内执行)
ALTER USER postgres WITH PASSWORD '你的密码';
七、数据迁移补充(如果你需要保留旧数据)
如果不想删除PG16数据,不要执行上面 rm -rf 删除目录命令,正确迁移步骤:
- 安装PG18
- 使用
pg_dump导出16全库备份 - 导入到PG18新实例
- 确认数据正常后再卸载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();"