Dave Page wrote:
Andrew Dunstan wrote:
Here is my latest version of this patch. The good news is that it now
seems to work on Windows. Please review carefully (esp Magnus, Dave, Tom).
I've eyeballed the code quite thoroughly and given it a whirl under
VC++. The only problem I found was that the assert on line 794 of
syslogger.c in syslogger_parseArgs should be :
Assert(argc == 5);
Assert(argc == 6);
I'm not sure I like the file handling however - as it stands we get a
logfile (eg postgresql-2007-07-23_135007.log) which never gets written
to except by any pre-logger startup problems, and a corresponding csv
file. I can see why it's done this way, but it does seem somewhat messy
(I have a bunch of zero byte logfiles for each csv file) - can we clean
that up somehow, perhaps by only creating the initial logfile at startup
if we're not in CSV mode?
I'm also not crazy about the way the csv filename is generated by
appending .csv to the logfilename. This leads to a double file extension
by default which is largely considered to be evil on Windows (it's a
common method for 'hiding' viruses). Perhaps we could replace the .log
with .csv instead of appending it? If the name doesn't end in .log, then
append it (non-default config == users choice).
Thanks - I will attend to these items.
There's also something screwy going on - if we have redirect_stderr =
off and log_destination = 'csvlog' then we get tied up in knots and the
postmaster won't die - I had to use kill -9.
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not