Обсуждение: Installing PlPerl
Hi list...
 I am trying to install PLPERL in Postgresql in order to use
regular expression to eliminate any undesired character in any given
name to be inserted in the database... I believe that using plperl is
less time consuming than doing the same approach using plpgsql
(correct if I am wrong please)...
However I was faced with the following error:
$pgsql > createlang plperl template1
 ERROR:  Load of file /usr/local/postgresql-7.3.2/lib/plperl.so failed:
libperl.so: cannot open shared object file: No such file or directory
createlang: language installation failed
Could somebody gimme a hand!!!!
My machine:
  Athlon 1.3Mhz 512Mb
  Mdk 9
  Postgresql 7.3.2
     pg_config --configure
        '--prefix=/usr/local/postgresql-7.3.2'
        '--with-perl'
        '--with-tcl'
        '--with-pgport=5433'
        'CC=gcc'
        'CFLAGS=-O2 -fpic -march=athlon-mcpu=athlon'
Following is my timing consume function (remember I'Perl's newbie)
to generate a name capitalized without any punctuation/number... Any
suggestion/comment to improve function, it will be welcome...
CREATE OR REPLACE FUNCTION XP_FORMATA_NOME (VARCHAR) RETURNS
VARCHAR AS '
  my $string = @_;
  $string =~ tr/[a-z][0-9]\.\$%\'"@#*!?()/[A-Z] /d;
  RETURN $string;
'
LANGUAGE 'plperl';
Tks...
			
		Rene' > I am trying to install PLPERL in Postgresql in order to use > regular expression to eliminate any undesired character in any given > name to be inserted in the database... I believe that using plperl is > less time consuming than doing the same approach using plpgsql > (correct if I am wrong please)... If you built postgresql from source, you need to recompile it " --with-perl " If you installed from RPMs, your distribution should have a PG-Perl or Perl-Postgres RPM; install that. -- Josh Berkus Aglio Database Solutions San Francisco
> If you built postgresql from source, you need to recompile it " --with-perl " > > If you installed from RPMs, your distribution should have a PG-Perl or > Perl-Postgres RPM; install that. From his pg_config results, we see that it has been compiled '--with-perl' option. I am unable to understand why it tries to access libperl.so. Check whether plperl.so exist in appropriate directory or check where it exist in that machine and pass appropriate -L option to createlang command. Moreover, you must pass 'p portnumber' since you have compiled with different port. regards, bhuvaneswaran
Thanks everyone for replying my email, I have fixed the problem, not sure if it was the right fix!! When I installed Pg, I did compiled it with "--with-perl" and no problem to install... Later when I decided to use PLPERL in addition to plpgsql the problem occured... What I did was just copy the missing libperl.so from the source code to /lib... Doing that I was able to createlang PLPERL, and so for no problem... Thanks all...
On Wednesday 21 May 2003 5:26 pm, Renê Salomão wrote: > $pgsql > createlang plperl template1 > > ERROR: Load of file /usr/local/postgresql-7.3.2/lib/plperl.so failed: > libperl.so: cannot open shared object file: No such file or directory I think you need to have Perl installed as a shared-library as well as a static executable. I don't think it defaults to this, so you'll either need to recompile, or more likely grab the appropriate RPM/apt-get your package. -- Richard Huxton