Le 14/10/2016 à 18:50, Christoph Berg a écrit :
> Re: To Gilles Darold 2016-10-14 <20161014125406.albrfj3qldiwj...@msg.df7cb.de>
>> 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

Reply via email to