Re: $libdir not working
| От | Tom Lane |
|---|---|
| Тема | Re: $libdir not working |
| Дата | |
| Msg-id | 29732.1267890126@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | $libdir not working (Scott Geller <sgellergsu@gmail.com>) |
| Список | pgsql-novice |
Scott Geller <sgellergsu@gmail.com> writes:
> I'm trying to run the code:
> CREATE FUNCTION plr_call_handler()
> RETURNS LANGUAGE_HANDLER
> AS '$libdir/plr' LANGUAGE C;
> and getting the error:
> An error occurred when executing the SQL command:
> CREATE FUNCTION plr_call_handler()
> RETURNS LANGUAGE_HANDLER
> AS '$libdir/plr' LANGUAGE C
> ERROR: could not access file "$libdir/plr": No such file or directory
> [SQL State=58P01]
> Yet, I'm able to create the function with no problem when I run:
> CREATE FUNCTION plr_call_handler()
> RETURNS LANGUAGE_HANDLER
> AS '/usr/lib/postgresql/plr' LANGUAGE C;
> I found the location by running in bash:
> pg_config --pkglibdir
Huh. "pg_config --pkglibdir" is definitely meant to print the same
directory that is substituted for "$libdir". Are you sure you are
invoking the copy of pg_config that goes with the postgres backend
executable you're using? Also, the path is usually calculated relative
to the location of the program, so putting pg_config in a different
directory than the postgres executable is in could make it give bogus
results.
> I then tried to edit postgresql.conf by adding the line:
> dynamic_library_path = '/usr/lib/postgresql:$libdir'
This setting is not relevant to your problem. The meaning of $libdir
is wired in, for a particular build and installation location.
regards, tom lane
В списке pgsql-novice по дате отправления: