Обсуждение: Can't createlang plpgsql
Hello
I can't get pl/pgsql to install using creatlang. I've listed what I did
and the messages I received.
I'm running 7.1.3 configured as follows:
./configure --enable-multibyte=UNICODE --enable-unicode-conversion
--with-perl
The distro is Redhat 7.1.
Thanks.
Michael Fahey
$ createlang -l template1
Procedural languages
Name | Trusted? | Compiler
------+----------+----------
(0 rows)
$createlang plpgsql template1
createlang: missing required argument PGLIB directory
(This is the directory where the interpreter for the procedural
language is stored. Traditionally, these are installed in whatever
'lib' directory was specified at configure time.)
$export PGLIB=/usr/local/pgsql/lib
echo $PGLIB
/usr/local/pgsql/lib
$ls /usr/local/pgsql/lib
libecpg.a
libecpg.so
libecpg.so.3
libecpg.so.3.2.0
libpgeasy.a
libpgeasy.so
libpgeasy.so.2
libpgeasy.so.2.1
libpq.a
libpq.so
libpq.so.2
libpq.so.2.1
plpgsql.so
#the next few messages are really confusing me.
$createlang plpgsql template1
createlang: A function named 'plpgsql_call_handler' already exists.
Installation aborted.
$droplang -d template1 plpgsql
droplang: 'plpgsql' is not installed in database template1
$createlang plpgsql template1
createlang: A function named 'plpgsql_call_handler' already exists.
Installation aborted.
createlang -l template1
Procedural languages
Name | Trusted? | Compiler
------+----------+----------
(0 rows)
"Michael R. Fahey" <mfahey@qilinlaw.com> writes:
> I can't get pl/pgsql to install using creatlang. I've listed what I did
> and the messages I received.
> I'm running 7.1.3 configured as follows:
The error message you quote is not from 7.1's createlang, but 7.0
or before. Perhaps you have a version mixup?
In any case, creating a PL language is a two-step process: install a
function and then define the language. Evidently only the first of
these steps has gotten done. Try dropping the function by hand and
then trying again.
regards, tom lane