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