Hi,
I am running PostgreSQL 7.3.2 on Mandrake 9.1. When I attempted to install
the PL/PGSQL language for the first time, I got the following error:
ERROR: stat failed on file '$libdir/plpgsql': No such file or directory
createlang: language installation failed
I had the following packages installed:
[root@pluto root]# rpm -qa|grep postgres
postgresql-7.3.2-5mdk
postgresql-jdbc-7.3.2-5mdk
postgresql-server-7.3.2-5mdk
I Googled the error and searched the PG list archives and found that others
had similar problems but none of the solutions that were offered helped but
there was one clue, that plpgsql.so was missing. I looked for that file on
rpmfind.net only to find that it was packaged in the posgtresql-server rpm.
The postgresql-server Mandrake rpm that I already had installed did not
contain that file so it appeared to be a Mandrake specific packaging issue.
With the help of a kind soul on the #mandrake IRC channel, I managed to
find the package that contains the shared library. It is postgresql-pl. I
had not originally installed that package because I had mistakenly thought
it had something to do with Perl and since I did not need Perl support for
PG, I thought I had no use for it. Evidently, this package, which *does*
have something to do with Perl, also contains the shared libraries for
PL/Python, PL/TCL, and last but not least, PL/PGSQL. It is rather poor
packaging or poor naming but the upshot of it is that once I installed this
rpm, createlang worked as expected and I was able to create functions. I
have also added this to the createlang and CREATE LANGUAGE annotated
documentation pages to help those who may be experiencing the same problem
discover the solution quickly.
Regards,
Clifford Ilkay
Dinamis Corporation
3266 Yonge Street, Suite 1419
Toronto, Ontario
Canada M4N 3P6
Tel: 416-410-3326