openSUSE Leap 15.4使用zypper安装PostgreSQL 13出现仓库无效报错
问题根因
根目录使用ext4格式不会对PostgreSQL安装造成任何影响,ext4是Linux环境下兼容性、稳定性都经过长期验证的文件系统,完全满足数据库运行要求。
报错的核心原因是你添加的PGDG PostgreSQL源默认会自动识别系统小版本号,拼接出sles-15.4的仓库路径,但PGDG公开的SLES 15软件仓没有按15.4小版本拆分独立目录,zypper在指定路径找不到仓库元数据,就会抛出“无法确定仓库类型”的错误。
操作步骤
按顺序执行以下命令即可完成安装:
- 先清理之前添加的失效仓库:
执行zypper lr调出本地仓库列表,找到别名是pgdg-13、名称包含PostgreSQL 13 SLES的条目,执行删除命令:sudo zypper removerepo pgdg-13 - 二选一选择安装渠道即可:
方案1:用openSUSE官方源安装(推荐,无兼容风险)
openSUSE Leap 15.4官方源已经内置PostgreSQL 13的稳定安装包,不需要额外配置第三方源,直接执行安装命令:sudo zypper install postgresql13-server postgresql13-contrib方案2:使用PGDG官方构建的安装包
如果需要使用PGDG官方发布的版本,添加源后修正路径即可:- 重新执行你之前使用的zypper addrepo命令添加PGDG源
- 打开源配置文件:
sudo vi /etc/zypp/repos.d/pgdg-13.repo,找到baseurl配置行,把路径中自动生成的sles-15.4字段替换为sles-15,保存退出 - 刷新源并自动导入签名密钥:
sudo zypper --gpg-auto-import-keys ref - 执行安装:
sudo zypper install postgresql13-server postgresql13-contrib
- 安装完成后执行命令初始化数据库、设置服务开机自启并立即启动:
sudo systemctl enable postgresql-13 --now - 验证安装:
切换到postgres内置用户查询版本,能正常返回PostgreSQL 13.x的版本信息即安装成功:sudo su - postgres psql --version
提示:如果执行sudo命令时提示权限不足,先确认当前登录账号已经加入sudo用户组即可。
内容的提问来源于stack exchange,提问作者Amro-Khairi
相关产品推荐
相关产品推荐

