首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复psql报告的版本?

如何修复psql报告的版本?
EN

Ask Ubuntu用户
提问于 2019-02-06 13:31:14
回答 1查看 449关注 0票数 1

我一直在开发一个Ansible脚本来定义我们公司服务器的标准模板。出于一些历史原因,我们选择使用PostgreSQL 9.6,尽管我们使用的是PostgreSQL 11附带的Ubuntu18.04,我们打算在几个月的过渡阶段之后赶上最新版本。

我们从AWS使用的18.04映像具有PG 11。在卸载version 11并在我们的测试服务器上安装9.6之后,psql --version的结果仍然是:

代码语言:javascript
复制
psql (PostgreSQL) 11.1 (Ubuntu 11.1-3.pgdg18.04+1)

但是,apt-cache policy postgresql-11给了我以下内容:

代码语言:javascript
复制
postgresql-11:
  Installed: (none)
  Candidate: 11.1-3.pgdg18.04+1
  Version table:
     11.1-3.pgdg18.04+1 500
        500 http://apt.postgresql.org/pub/repos/apt bionic-pgdg/main amd64 Packages

pg_lsclusters产量:

代码语言:javascript
复制
Ver Cluster Port Status Owner    Data directory               Log file
9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log

我发现所有这些都具有误导性,即使考虑到psql将与监听5432的服务器进行对话。我希望事情保持一致和明确的状态,而不是在脚本中冒一些兼容性问题的风险。

我的问题是:是否可以修复psql报告的版本,以便它能够报告一个实际存在的版本?

我觉得,删除版本11留下了一些残余物,似乎对我来说是多余的,尽管任务指定清除和自动删除。

编辑2019-02-10

@steeldriver的评论让我走上了正确的道路。我的角色是安装postgresql-9.6postgresql-contrib,这是没有意义的,因为据我所知,如果没有9.6作为版本的规范,postgresql-contrib将代表其最新的软件包,即postgresql-contrib-11,而后者又将postgresql-11作为依赖项。

最后,我得到了9.6和11版本,错误地认为Amazon映像中包含PostgreSQL11。我错了。

当我删除postgresql-11 (使用自动删除)时,卸载仍然保留在/var/lib/postgresql/11/bin文件夹中,其中保留了一个psql二进制文件。启动PostgreSQL二进制文件的包装器枚举/var/lib/postgresql中的版本,并对每个版本检查psql二进制文件是否在文件系统上。如果是,则使用最新版本。

有了这些评论和回答,我现在明白了,这当然是因为要删除的包是postgresql-client-common的味道,而不仅仅是postgresql-11

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-02-06 14:16:14

这里的评论是完全准确的。您可以很容易地通过使用可悲的未充分使用的Ubuntu包搜索来确认这一点,18.04报告说psql是postgresql-客户端-公共的一部分。

psql正在报告按预期安装的psql版本。

如果您想查看已安装的包的版本,dpkg -l packagename是有用的。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1116101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档