Postgresql

“psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)”到底是什麼意思?

  • June 19, 2020

我對以下輸出有疑問:

[nikola@192 ~] $ sudo su - postgres
[postgres@192 ~] $ psql dvdrental postgres
psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)
psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)
psql (11.7, server 11.8)
Type "help" for help.

dvdrental=# 

以下兩條消息代表什麼,為什麼?我要問的消息:

  1. psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)
  2. psql (11.7, server 11.8)- 順便說一句,對於這個psql --version命令,我得到以下輸出:( psql (PostgreSQL) 11.8必須安裝PostgreSQL 伺服器版本 11.7 才能執行諸如\dt和之類的命令\l)……還有這個輸出:
postgres=# select * FROM version();
                                                version                                                 
--------------------------------------------------------------------------------------------------------
 PostgreSQL 11.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2), 64-bit
(1 row)

PS 我在 Fedora 30 上執行 PostgreSQL 11.8。

UPDATE1: 根據@LaurenzAlbe 的要求,rpm -qa|grep postgres命令輸出為:

[nikola@192 ~] $ rpm -qa|grep postgres
postgresql-11.7-2.fc30.x86_64
postgresql11-11.8-1PGDG.f30.x86_64
postgresql11-libs-11.8-1PGDG.f30.x86_64
postgresql11-server-11.8-1PGDG.f30.x86_64
postgresql-server-11.7-2.fc30.x86_64

更新2

我已經執行了dnf remove postgresql postgresql-server命令 -> 數據庫仍然存在,我可以通過pgAdmin4psql 訪問它們:/usr/pgsql-11/lib/libpq.so.5: 沒有可用的版本資訊(psql 所需的消息不再顯示. 但是,現在有新問題 -> 當我使用命令在終端中訪問postgres shellsudo su - postgres然後執行時psql some-database-name postgres,我得到消息

bash:psql:找不到命令…

安裝包’postgresql’以提供命令’psql’?

$$ N/y $$

我想這是要求我再次安裝Fedora 軟體包,我首先要擺脫它(不顯示 psql:*/usr/pgsql-11/lib/libpq.so.5:沒有可用的版本資訊(需要psql)*消息)。

任何建議如何在不安裝 Fedora 軟體包但來自PostgreSQL 全球開發組的情況下解決這個問題?

PS順便說一句,我已經通過使用PGDG包的這個連結安裝了Postgres伺服器(但是在我的機器上有些東西不能正常工作,我想Fedora30 OS已經提供我安裝Fedora包,這顯然是我所做的: ))。

您安裝了混合包:一些來自 Fedora 發行版,一些來自 PostgreSQL 全球開發組。

這些不能很好地協同工作。特別是,您有psql來自 Fedora 的包PATH,但libpq來自 PGDG 的包位於庫路徑上。

這解釋了你的問題 #2。

廣告問題 #1:如果已安裝庫的庫版本低於與軟體連結的版本,則會列印該警告。

刪除 Fedora 軟體包以解決問題:

dnf remove postgresql postgresql-server

我希望把正確psql的放在你的PATH; 如果沒有,請重新安裝postgresql11軟體包。

引用自:https://dba.stackexchange.com/questions/269473