在 Debian 上升级 PostgreSQL 版本,通常有两种常见场景:
下面按最常用、最安全的方式说明。
直接通过 Debian 包管理器升级即可:
sudo apt update
sudo apt upgrade postgresql
升级后重启服务:
sudo systemctl restart postgresql
✅ 数据无需迁移
✅ 配置文件兼容
psql --version
sudo pg_lsclusters
示例输出:
14 main 5432 online
sudo apt update
sudo apt install postgresql-15
安装后:
14 main 5432 online
15 main 5433 online
sudo systemctl stop postgresql
sudo pg_upgradecluster 14 main
系统会自动:
完成后:
sudo pg_dropcluster 14 main
sudo apt remove postgresql-14
sudo -u postgres \
pg_upgrade \
-d /var/lib/postgresql/14/main \
-D /var/lib/postgresql/15/main \
-b /usr/lib/postgresql/14/bin \
-B /usr/lib/postgresql/15/bin
sudo systemctl start postgresql
sudo -u postgres psql -c "SELECT version();"
如果你更喜欢“干净迁移”:
sudo -u postgres pg_dumpall > all.sql
sudo apt install postgresql-15
sudo -u postgres psql < all.sql
⚠️ 适合数据量不大时
sudo -u postgres pg_dumpall > backup.sql
apt.postgresql.org 源sudo apt install curl ca-certificates
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql.gpg
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
如果你告诉我:
我可以给你精确命令。