我在一个Ubuntu派生的系统上(特别是来自System76的System76)。我正在尝试安装布卡多,但它似乎失败了,因为plperlu没有功能。
在psql提示符中:
# CREATE LANGUAGE plperlu;
ERROR: could not access file "$libdir/plperl": No such file or directory然而,运行:
$ pg_config --pkglibdir
/usr/lib/postgresql/12/lib以及:
$ ls /usr/lib/postgresql/12/lib/plperl*
/usr/lib/postgresql/12/lib/plperl.so我确实安装了postgresql-plperl-12包:
# apt install postgresql-plperl-12
Reading package lists... Done
Building dependency tree
Reading state information... Done
postgresql-plperl-12 is already the newest version (12.7-0ubuntu0.20.10.1).
0 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.所有相关的错误,我可以找到相关的软件包没有安装或语言没有创建的postgres,所以我有点受阻。CREATE LANGUAGE语句的错误似乎表明Postgres正在寻找一个没有扩展名的文件,但我不确定简单的mv是否可以修复该文件,如果是的话,应该向谁报告包错误。
编辑:由@AdrianKlaver的评论提示:
# CREATE EXTENSION plperlu;
ERROR: could not open extension control file "/usr/share/postgresql/10/extension/plperlu.control": No such file or directory..。现在它为什么要在/usr/share/postgresql/10/?里我可能误解了,但我有:
$ psql --version
psql (PostgreSQL) 12.7 (Ubuntu 12.7-0ubuntu0.20.10.1)plperlu.control确实存在于/usr/share/postgresql/12/extension/.但SELECT version()确实是PostgreSQL 10.10.所以在更新过程中有什么地方出了问题。是否有一个与实际运行原因问题的postgres不同的psql版本?
发布于 2021-06-22 22:13:26
问题是有多个版本的Postgres作为服务器运行。运行pg_lsclusters将显示它们是什么。CREATE EXTENSION失败,因为正在运行命令的Postgres版本的扩展代码尚未安装。
发布于 2022-05-05 16:48:08
Debian 11和Postgres 12也有同样的问题。对我有用的解决方案:
apt update
apt install -y postgresql-server-dev-12 wget
wget https://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-12/postgresql-plperl-12_12.10-1.pgdg20.04+1+b1_amd64.deb
dpkg -i ./postgresql-plperl-12_12.10-1.pgdg20.04+1+b1_amd64.deb
apt --fix-broken install # because problems on dpkg command
apt list --installed | grep postgresql-plperl-12https://stackoverflow.com/questions/68090238
复制相似问题