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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Supun Nakandala <supun(dot)nakandala(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: How to refer to resource files from UDFs written in C
Date: 2017-06-09 13:45:05
Message-ID: 24523.1497015905@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Supun Nakandala <supun(dot)nakandala(at)gmail(dot)com> writes:
> 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.

You probably want to use get_share_path, or one of its sibling functions
in src/port/path.c. Then your files go with the PG installation tree,
whereever it is. There are different functions that are appropriate for
different types of files.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2017-06-09 13:50:58 Re: Re: Alter subscription..SET - NOTICE message is coming for table which is already removed
Previous Message Amit Kapila 2017-06-09 13:40:05 Re: UPDATE of partition key