Re: CREATE EXTENSION to load the language into the database

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Daulat Ram <Daulat(dot)Ram(at)exponential(dot)com>, "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: CREATE EXTENSION to load the language into the database
Date: 2019-05-03 16:50:45
Message-ID: f419e6b8-deeb-a901-9f08-303097bba2a7@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 5/3/19 8:56 AM, Daulat Ram wrote:
> Hello team,
>
> We are getting below issue while creating a function in Potsgres 11.2
>
> nagios=# create or replace function diskf (filesystem text, warn int,
> err int) returns text as $BODY$
>
> nagios$# use warnings;
>
> nagios$# use strict;
>
> nagios$# my $fs = $_[0];
>
> nagios$# my $w = $_[1];
>
> nagios$# my $e = $_[2];
>
> nagios$# my $r = "WARNING";
>
> nagios$# my $output = `df -kP $fs`;
>
> nagios$# $output =~ /.*\s+(\d+)%.*/;
>
> nagios$# $output = $1;
>
> nagios$# if ($output > $w)
>
> nagios$# { $r = "ERROR" if $output > $e;}
>
> nagios$# else { $r = "OK";}
>
> nagios$# return  "$r $output";
>
> nagios$# $BODY$ language plperlu;
>
> ERROR:  language "plperlu" does not exist
>
> HINT:  Use CREATE EXTENSION to load the language into the database.
>
> nagios=# SELECT * FROM pg_language;
>
> lanname  | lanowner | lanispl | lanpltrusted | lanplcallfoid | laninline
> | lanvalidator | lanacl
>
> ----------+----------+---------+--------------+---------------+-----------+--------------+--------
>
> internal |       10 | f       | f            |             0 |         0
> |         2246 |
>
> c        |       10 | f       | f            |             0 |         0
> |         2247 |
>
> sql      |       10 | f       | t            |             0 |         0
> |         2248 |
>
> plpgsql  |       10 | t       | t            |         13075 |     13076
> |        13077 |
>
> (4 rows)
>
> To solve this issue , I am getting the below warnings if creating
> extensions.
>
> nagios=# CREATE EXTENSION plperl;
>
> ERROR:  could not open extension control file
> "/usr/local/share/postgresql/extension/plperl.control": No such file or
> directory
>
> nagios=# CREATE LANGUAGE plperlu;
>
> ERROR:  could not load library "/usr/local/lib/postgresql/plperl.so":
> Error loading shared library libperl.so.5.20: No such file or directory
> (needed by /usr/local/lib/postgresql/plperl.so)
>
> nagios=# CREATE LANGUAGE plperlu;
>
> ERROR:  could not load library "/usr/local/lib/postgresql/plperl.so":
> Error loading shared library libperl.so.5.20: No such file or directory
> (needed by /usr/local/lib/postgresql/plperl.so)

The plperl(u) extension has not been added to the Postgres installation.
You need to do that. To help you with that we need to know:

What OS(and version) are you using?

How did you install Postgres?

>
> nagios=#
>
> Regards,
>
> Dault
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Julie Nishimura 2019-05-03 17:14:17 error fsm relations
Previous Message Igal Sapir 2019-05-03 16:49:00 Re: Starting Postgres when there is no disk space