我使用 PostgreSQL,我想在 pl/perl 中创建一个函数,但 PostgreSQL 不包含 pl/perl。
当我输入createlang plperlu databasename
它显示:
createlang:语言安装失败:错误:无法打开扩展控制文件“/usr/local/pgsql/share/extension/plperlu.control”:没有这样的文件或目录
如何安装 plperlu?
CentOS 5.8 中的 PostgreSQL 版本是 9.1
我使用 PostgreSQL,我想在 pl/perl 中创建一个函数,但 PostgreSQL 不包含 pl/perl。
当我输入createlang plperlu databasename
它显示:
createlang:语言安装失败:错误:无法打开扩展控制文件“/usr/local/pgsql/share/extension/plperlu.control”:没有这样的文件或目录
如何安装 plperlu?
CentOS 5.8 中的 PostgreSQL 版本是 9.1
在您执行任何其他操作之前,请备份您的数据库。至少用于pg_dump
获取 SQL 转储并将其放在另一台计算机上。然后继续,但要明白,如果你搞砸了,你可能会导致停机甚至数据丢失。
(对于阅读本文的其他人,它仅适用于从源代码安装的PostgreSQL 。您可能正在使用打包版本,在这种情况下,您应该为您的发行版安装 postgresql-contrib 或 postgresql-plperl 的包。名称会有所不同,所以在你的包管理系统中搜索。)
您的同事很可能从源代码安装了 PostgreSQL,但没有启用 PL/Perl。如果你想要 PL/Perl,你需要重新编译。
安装 Perl 开发包,它应该被称为perl-devel
,例如:
yum install perl-devel
当你重新编译 PostgreSQL 时,--with-perl
使用./configure
. 您应该能够找到您的同事在系统某处使用的 PostgreSQL 源代码树 - 尝试搜索config.log
并查看同一位置是否有 PostgreSQL 源代码树。
如果找不到,则必须:
老实说,如果您不了解 Linux,这不是一个好的开始方式。找一个曾经使用过 Linux 系统并且熟悉安装包等基本任务的人来帮助你。让他们帮助您用yum.postgresql.org软件包中的 PostgreSQL 安装替换源安装的 PostgreSQL ,并最好将您相当过时的操作系统安装更新到当前安装。