PostgreSQL与Ubuntu兼容性问题及解决方法
Ubuntu的每个发行版(如22.04 LTS、24.04 LTS)会“冻结”一个特定版本的PostgreSQL,该版本会随Ubuntu生命周期持续支持。若默认仓库中的版本不符合需求,可通过PostgreSQL官方APT仓库安装更兼容的版本。官方仓库支持当前主流Ubuntu版本(如plucky 25.04、oracular 24.10、noble 24.04、jammy 22.04、focal 20.04),覆盖amd64、arm64(LTS)等架构。
为避免版本冲突,需准确配置PostgreSQL官方仓库。关键步骤包括:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
;echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
($(lsb_release -cs)
自动获取Ubuntu代号,如jammy、focal);sudo apt update
。当系统中存在多个PostgreSQL版本时,易引发依赖冲突(如pg_config: command not found
或libpq-fe.h: No such file or directory
)。解决方法:
apt-mark hold postgresql-client-12 postgresql-12 libpq-dev
防止自动升级;apt install postgresql-13 libpq-dev=13.10-1.pgdg20.04+1
安装特定版本的PostgreSQL及开发库,确保版本一致性。PostgreSQL官方APT仓库对Ubuntu架构的支持有明确限制:
若通过源码安装PostgreSQL,需注意:
sudo apt install zlib1g-dev libssl-dev
),否则编译会失败;