Writing a C function to return the log file name

From: Kouber Saparev <kouber(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Writing a C function to return the log file name
Date: 2017-06-02 11:35:09
Message-ID: CAN4RuQvLgUozDiM9Dgry9C27uNwjQnNa5xUOdBn9=47fY-KtCQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

I am trying to write a function in C to return the log file name by given
timestamp. I will use that later to make dynamic creation of a foreign
table (file_fdw) to read the csv logs themselves. The thing is I do now
want to hardcode neither the format, nor the directory in my extension.

I already looked into the adminpack extension, but the format is hardcoded
to the default one there, so it does not serve my needs.

Here is what I currently have:
https://gist.github.com/kouber/89b6e5b647452a672a446b12413e20cf

The thing is the function is returning random results, obtained by
pg_strftime().

kouber=# select now()::timestamp, sqlog.log_path(now()::timestamp);
NOTICE: Log directory = "pg_log"
NOTICE: Log filename = "postgresql-%F.log"
NOTICE: Length = "7"
NOTICE: Filename = "pg_log/postgresql-17422165-04-30.log"
now | log_path
----------------------------+--------------------------------------
2017-06-02 14:17:47.832446 | pg_log/postgresql-17422165-04-30.csv
(1 row)

kouber=# select now()::timestamp, sqlog.log_path(now()::timestamp);
NOTICE: Log directory = "pg_log"
NOTICE: Log filename = "postgresql-%F.log"
NOTICE: Length = "7"
NOTICE: Filename = "pg_log/postgresql-17422166-02-08.log"
now | log_path
----------------------------+--------------------------------------
2017-06-02 14:18:12.390558 | pg_log/postgresql-17422166-02-08.csv
(1 row)

Any idea what am I doing wrong?

I copied logfile_getname() from syslogger.c, and simply added some debug
messages in there.

Regards,
--
Kouber Saparev

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Neil Anderson 2017-06-02 12:19:57 Re: Oracle database into PostgreSQL using Ora2PG tool.
Previous Message Osahon Oduware 2017-06-02 09:52:38 PostGIS ST_CreateOverview Function For Non-Public Schema