Suppress attempts to report dropped tables to the stats collector from a
startup or recovery process. Since such a process isn't a real backend, pgstat.c gets confused. This accounts for recent reports of strange "invalid server process ID -1" log messages during crash recovery. There isn't any point in attempting to make the report, since we'll discard stats in such scenarios anyhow.
This commit is contained in:
parent
bee34e9930
commit
4243f2387a
@ -11,7 +11,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/storage/smgr/smgr.c,v 1.97 2006/03/24 04:32:13 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/storage/smgr/smgr.c,v 1.98 2006/03/30 22:11:55 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -470,8 +470,14 @@ smgr_internal_unlink(RelFileNode rnode, int which, bool isTemp, bool isRedo)
|
||||
*/
|
||||
FreeSpaceMapForgetRel(&rnode);
|
||||
|
||||
/* Tell the stats collector to forget it immediately, too. */
|
||||
pgstat_drop_relation(rnode.relNode);
|
||||
/*
|
||||
* Tell the stats collector to forget it immediately, too. Skip this
|
||||
* in recovery mode, since the stats collector likely isn't running
|
||||
* (and if it is, pgstat.c will get confused because we aren't a real
|
||||
* backend process).
|
||||
*/
|
||||
if (!InRecovery)
|
||||
pgstat_drop_relation(rnode.relNode);
|
||||
|
||||
/*
|
||||
* And delete the physical files.
|
||||
|
Loading…
Reference in New Issue
Block a user