我有一个关于以下产出的问题:
[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=# 以下两条信息代表什么?为什么?我要问的信息是:
psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)psql (11.7, server 11.8) - BTW,对于这个psql --version命令,我得到以下输出:psql (PostgreSQL) 11.8 (had用于安装 PostgreSQL Server version 11.7以便执行\dt和\l等命令) ...and也是这个输出:postgres=#从version()选择*;版本gcc (GCC) 9.3.1 20200408 (红帽9.3.1-2),64位(1行)
我在Fedora 30上运行PostgreSQL 11.8。
rpm -qa|grep postgres命令的UPDATE1 1:由@LaurenzAlbe输出请求为:
[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_64UPDATE2 2:
我运行了dnf remove postgresql postgresql-server命令->数据库,我可以通过pgAdmin4 4和psql: /usr/pgsql-11/lib/libpq.so.5访问它们( psql消息所要求的)。但是,当我使用->命令访问终端中的postgres shell并执行psql some-database-name postgres时,现在出现了新的sudo su - postgres问题。
命令找不到..。安装软件包'postgresql‘以提供命令'psql'?
我猜想这是要求我再次安装 Fedora包,这是我第一次尝试摆脱它(不显示psql: /usr/pgsql-11/lib/libpq.so.5:没有可用的版本信息( psql)消息)。
如果没有安装Fedora软件包,但来自<#>PostgreSQL全球开发小组,有什么建议可以解决吗?
P.S. BTW,我按照这链接安装了Postgres服务器,该链接使用PGDG包(但在我的机器上有些东西不能正常工作,我想我是Fedora30 OS提供的,可以安装Fedora软件包,这显然是我所做的:)。
发布于 2020-06-19 12:21:00
您已经安装了一个包的混合物:一些来自Fedora发行版,一些来自PostgreSQL全球开发组。
这些不太合拍。特别是,您可以从PATH中的Fedora包获得libpq,但是来自PGDG包的D2在库路径上。
这就解释了你的第二个问题。
广告问题1:如果安装的库的库版本低于软件链接的版本,则会打印该警告。
删除Fedora包以解决问题:
dnf remove postgresql postgresql-server我希望这会将正确的psql放在PATH上;如果没有,请重新安装postgresql11包。
发布于 2020-06-19 17:10:39
在试验并尝试了@Laurenz提出的建议之后,我终于找到了解决方案。
在执行问题中提到的步骤之后,解决方案再执行一个附加步骤,即运行sudo dnf reinstall pacakage_name命令(package_name是下面提到的三个包之一)命令,用于以下软件包:
[nikola@192 ~] $ rpm -qa|grep postgres
postgresql11-11.8-1PGDG.f30.x86_64
postgresql11-libs-11.8-1PGDG.f30.x86_64
postgresql11-server-11.8-1PGDG.f30.x86_64在那之后,一切都按应有的方式运作。
发布于 2022-04-18 19:40:01
<#>更新
这个问题已经被回答了,所以这个答案是为了作为补充。
我发现在CentOS 8上运行postgres 13也有同样的问题,正如前面指出的,libpq的版本不匹配,并且来自不同的存储库。
# dnf info --installed libpq* postgresql*
Installed Packages
Name : libpq5
Version : 14.2
Release : 42PGDG.rhel8
Architecture : x86_64
Size : 791 k
Source : libpq5-14.2-42PGDG.rhel8.src.rpm
Repository : @System
From repo : pgdg-common
...
Name : postgresql
Version : 13.5
Release : 1.module_el8.5.0+1062+8eba5f44
Architecture : x86_64
Size : 5.5 M
Source : postgresql-13.5-1.module_el8.5.0+1062+8eba5f44.src.rpm
Repository : @System
From repo : appstream
...
Name : postgresql-server
Version : 13.5
Release : 1.module_el8.5.0+1062+8eba5f44
Architecture : x86_64
Size : 22 M
Source : postgresql-13.5-1.module_el8.5.0+1062+8eba5f44.src.rpm
Repository : @System
From repo : appstream
...这个问题通过卸载库解决了。
# rpm -e --nodeps libpq5注意:使用"dnf“将尝试删除postgresql和postgresql-server (在许多情况下这可能很好),我们需要再次安装它们。通过使用"rpm“,我们不会碰它们,所以我们不需要重新安装。
最后安装正确的。
# dnf install libpq-13.3-1.el8_4.x86_64现在一切都匹配了
# dnf info --installed libpq* postgresql*
Installed Packages
Name : libpq
Version : 13.3
Release : 1.el8_4
Architecture : x86_64
Size : 720 k
Source : libpq-13.3-1.el8_4.src.rpm
Repository : @System
From repo : appstream
...
Name : postgresql
Version : 13.5
Release : 1.module_el8.5.0+1062+8eba5f44
Architecture : x86_64
Size : 5.5 M
Source : postgresql-13.5-1.module_el8.5.0+1062+8eba5f44.src.rpm
Repository : @System
From repo : appstream
...
Name : postgresql-server
Version : 13.5
Release : 1.module_el8.5.0+1062+8eba5f44
Architecture : x86_64
Size : 22 M
Source : postgresql-13.5-1.module_el8.5.0+1062+8eba5f44.src.rpm
Repository : @System
From repo : appstream
....https://dba.stackexchange.com/questions/269473
复制相似问题