我是PostgreSQL的初学者。我得到了一个PostgreSQL的SQL补丁,在执行SQL时,我在最后对其进行了配置。我收到以下错误。我的背景是MySQL。
查询
CREATE FUNCTION wine_entry_script() RETURNS trigger
LANGUAGE plperlu AS
$$
#!/usr/bin/perl -w
use strict;
require ('/var/lib/pgsql/data/Trigger_Processor1.0.pl');
$$;
错误
错误:语言"plperlu"不存在SQL状态:42704提示:使用CREATE LANGUAGE将语言加载到数据库中。
plperlu
是不受信任的plperl版本。这是PostgreSQL中准备好的选项之一。看看:
SELECT * FROM pg_language;
如果你想使用它,你必须为每个数据库运行一次:
CREATE LANGUAGE plperlu;
不过,要注意安全隐患
手册中有更多内容。
大多数Linux系统都安装了Perl。在Windows下,请确保在您的系统中安装了某种风格的Perl(提供所需的dll文件),然后才能创建该语言。
相关:
- 创建语言plperl-错误:无法加载库plperl.dll
创建扩展,然后创建语言。
CREATE EXTENSION plperl;
CREATE LANGUAGE plperlu;
首先,通过以下命令在服务器中安装plperl
sudo apt install postgresql-plperl-13
(与当前版本更改13)
现在使用postgres 登录
sudo su - postgres
现在您使用需要此扩展的数据库登录
psql -d nameofdatabase
CREATE EXTENSION plperl;
CREATE LANGUAGE plperlu;
现在可以使用了