psql -V 和 apt-cache policy postgresql 有什么区别?

psql -V 和 apt-cache policy postgresql 有什么区别?

我已经安装了 postgres 9.6,如果你在终端中输入 psql -V 或 psql --version,你就知道你安装了哪个 postgresql 版本,但是,如果你输入 sudo apt-cache policy postgresql,则似乎你没有安装 postgresql 并且候选版本是 postgresql 10。

您知道为什么这最后一个命令不能识别 postgres 9.6 安装以及两者的区别是什么吗?

提前致谢

答案1

正如评论中提到的,apt-cache policy <package name>要求apt-get显示软件包信息,而psql -V让 postgres 本身报告版本。postgresql-9.6包含实际应用程序和相关文件的软件包也是如此,其中包括psql。两者都有效,但如果apt-cache您需要提供已安装的实际软件包的名称,而应用程序或命令可能会有所不同psql

正如评论中提到的那样,您已将包安装为sudo apt-get install postgresql-9.6,并且应使用相同的名称apt-cache policy

$ apt-cache policy postgresql-9.6
postgresql-9.6:
  Installed: 9.6.3-4+b1
  Candidate: 9.6.3-4+b1
  Version table:
 *** 9.6.3-4+b1 500
<removed sources>

相关内容