You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下重装PostgreSQL 12/13集群(保留现有数据库)

恢复Ubuntu 22.04上PostgreSQL 12/13二进制文件并保留现有集群

步骤1:添加PostgreSQL官方软件源

Ubuntu 22.04默认软件源仅包含PostgreSQL 14,需添加官方源获取旧版本包:

# 导入PG官方GPG密钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7FCC7D46ACCC4CF8
# 添加PG源到sources.list.d
echo "deb http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
# 更新软件包索引
sudo apt update

步骤2:安装PostgreSQL 12和13的二进制包

直接安装对应版本的核心包,避免使用postgresql元包(会安装默认版本):

# 安装PG 12核心包
sudo apt install postgresql-12
# 安装PG 13核心包
sudo apt install postgresql-13

安装时若提示是否覆盖现有集群配置,选择否——你的12/13集群数据目录仍保留,无需初始化新集群。

步骤3:启动现有集群

验证二进制文件恢复情况:

# 检查PG 12的initdb是否存在
which initdb.12
# 检查PG 13的initdb是否存在
which initdb.13

启动对应集群:

# 启动PG 12的main集群
sudo pg_ctlcluster 12 main start
# 启动PG 13的main集群
sudo pg_ctlcluster 13 main start

步骤4:确认集群状态与数据完整性

查看所有集群状态,确认12/13集群已处于online状态:

pg_lsclusters

登录数据库验证数据:

# 登录PG 12集群(端口默认可能为5432,根据实际情况调整)
psql -p 5432 -U postgres
# 查看数据库列表确认数据存在
\l

异常处理

若启动集群时出现权限错误,修复数据目录权限:

sudo chown -R postgres:postgres /var/lib/postgresql/12/main
sudo chown -R postgres:postgres /var/lib/postgresql/13/main

内容的提问来源于stack exchange,提问作者rigyt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 08:12:05