Re: How to refer to resource files from UDFs written in C

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Supun Nakandala <supun(dot)nakandala(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: How to refer to resource files from UDFs written in C
Date: 2017-06-09 07:05:48
Message-ID: 3f158081-870a-0f88-eddc-6f5b257d102e@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 06/09/2017 08:56 AM, Supun Nakandala wrote:
> Hi hackers,
>
> I am trying to extend PostgreSQL by adding UDT and UDF for a custom use
> case and I am using C language extensions to do that.
>
> However, I have a requirement of reading a text file from one of the C
> functions. The compiled *.so files are placed in the "pg_config
> --pkglibdir" directory and tried copying my text files there but it didn't
> work. I found that, when these shared libs are loaded they are run from a
> different working directory. In this case, what is the best way to refer to
> my text files from the C code other than giving the absolute path which can
> change from system to system.

All backend processes run with the data directory as the current
directory. So you can put the files into the data directory, probably
best to have a subdirectory there to avoid confusing them with
PostgreSQL's own files. Or you could have a config option, to set an
absolute path.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Antonin Houska 2017-06-09 07:25:34 Re: snapbuild woes
Previous Message Amit Khandekar 2017-06-09 06:27:16 Re: strcmp() tie-breaker for identical ICU-collated strings