Bill Moran <[EMAIL PROTECTED]> writes:
> In response to Alvaro Herrera <[EMAIL PROTECTED]>:
>> Please change things to save the stat() syscall when the feature is not
>> in use.

> Do you have a suggestion on how to do that and still have the PG_TRACE1()
> work?  That was specifically requested by Simon Riggs.

Well, we are NOT paying a stat() call on every single file close,
whether Simon wants it or not.  PG_TRACE1 doesn't even do anything
on non-Solaris platforms, for pete's sake.

Perhaps it would be reasonable to define trace_temp_files as the minimum
file size to log; then you could do something like

        if (trace_temp_files > 0)
        {
                if (stat(vfdP->fileName, &filestats) < 0)
                        elog(LOG, ...);
                else
                {
                        if (filestats.st_size / BLCKSZ >= trace_temp_files)
                                ereport(LOG, ...);
                        PG_TRACE1(temp__file__cleanup, filestats.st_size);
                }
        }

Note that elog(ERROR) is quite inappropriate here.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to