Le 14/10/2016 à 18:50, Christoph Berg a écrit :
> Re: To Gilles Darold 2016-10-14 <[email protected]>
>> A better design might be to return two columns instead:
>>
>> postgres=# select * from pg_current_logfile();
>> stderr | csvlog
>> ---------------------------------------+---------------------------------------
>> pg_log/postgresql-2016-10-07_1646.log |
>> pg_log/postgresql-2016-10-07_1646.csv
>> (The alternative could be to return an extra column:
>>
>> postgres=# select * from pg_current_logfile();
>> type | logfile
>> ---------------------------------------
>> stderr | pg_log/postgresql-2016-10-07_1646.log
>> csvlog | pg_log/postgresql-2016-10-07_1646.csv
> Usability-wise it might be better to have pg_current_logfile() just
> return the name of the text log (and possibly a HINT that there's a
> csv log if stderr is disabled), and have a second function
> pg_current_csvlog() return the csv log name.
>
> The choice which design is better will probably depend on if we think
> these functions are meant for interactive use (-> 2 functions), or for
> automated use (-> 2 columns). My guess would be that interactive use
> is more important here.
Agree, the usability of the current version is really a pain. What I've
thought is that the function could return the csv log in all case when
csvlog is set in log_destination and the stderr log file when csvlog is
not defined. We can also have a parametrer to ask for a specific log
format, like pg_current_logfile('csv') or pg_current_logfile('stderr').
--
Gilles Darold
Consultant PostgreSQL
http://dalibo.com - http://dalibo.org