mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add GUC log_temp_files to log the use of temporary files.
Bill Moran
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.132 2007/01/05 22:19:37 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.133 2007/01/09 21:31:14 momjian Exp $
|
||||
*
|
||||
* NOTES:
|
||||
*
|
||||
@ -50,6 +50,7 @@
|
||||
#include "access/xact.h"
|
||||
#include "storage/fd.h"
|
||||
#include "storage/ipc.h"
|
||||
#include "utils/guc.h"
|
||||
|
||||
|
||||
/*
|
||||
@ -938,7 +939,8 @@ OpenTemporaryFile(bool interXact)
|
||||
void
|
||||
FileClose(File file)
|
||||
{
|
||||
Vfd *vfdP;
|
||||
Vfd *vfdP;
|
||||
struct stat filestats;
|
||||
|
||||
Assert(FileIsValid(file));
|
||||
|
||||
@ -968,6 +970,19 @@ FileClose(File file)
|
||||
{
|
||||
/* reset flag so that die() interrupt won't cause problems */
|
||||
vfdP->fdstate &= ~FD_TEMPORARY;
|
||||
PG_TRACE1(temp__file__cleanup, vfdP->fileName);
|
||||
if (log_temp_files >= 0)
|
||||
{
|
||||
if (stat(vfdP->fileName, &filestats) == 0)
|
||||
{
|
||||
if (filestats.st_size >= log_temp_files)
|
||||
ereport(LOG,
|
||||
(errmsg("temp file: path \"%s\" size %lu",
|
||||
vfdP->fileName, (unsigned long)filestats.st_size)));
|
||||
}
|
||||
else
|
||||
elog(LOG, "Could not stat \"%s\": %m", vfdP->fileName);
|
||||
}
|
||||
if (unlink(vfdP->fileName))
|
||||
elog(LOG, "failed to unlink \"%s\": %m",
|
||||
vfdP->fileName);
|
||||
|
Reference in New Issue
Block a user