mirror of https://github.com/postgres/postgres
Fix oversight in my patch of yesterday: forgot to ensure that stats would
still be forced out at backend exit.
This commit is contained in:
parent
957d08c81f
commit
641912b4d1
|
@ -13,7 +13,7 @@
|
||||||
*
|
*
|
||||||
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
|
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.154 2007/04/30 03:23:49 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.155 2007/04/30 16:37:08 tgl Exp $
|
||||||
* ----------
|
* ----------
|
||||||
*/
|
*/
|
||||||
#include "postgres.h"
|
#include "postgres.h"
|
||||||
|
@ -615,7 +615,7 @@ void allow_immediate_pgstat_restart(void)
|
||||||
* ----------
|
* ----------
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
pgstat_report_tabstat(void)
|
pgstat_report_tabstat(bool force)
|
||||||
{
|
{
|
||||||
static TimestampTz last_report = 0;
|
static TimestampTz last_report = 0;
|
||||||
TimestampTz now;
|
TimestampTz now;
|
||||||
|
@ -627,10 +627,11 @@ pgstat_report_tabstat(void)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't send a message unless it's been at least PGSTAT_STAT_INTERVAL
|
* Don't send a message unless it's been at least PGSTAT_STAT_INTERVAL
|
||||||
* msec since we last sent one.
|
* msec since we last sent one, or the caller wants to force stats out.
|
||||||
*/
|
*/
|
||||||
now = GetCurrentTransactionStopTimestamp();
|
now = GetCurrentTransactionStopTimestamp();
|
||||||
if (!TimestampDifferenceExceeds(last_report, now, PGSTAT_STAT_INTERVAL))
|
if (!force &&
|
||||||
|
!TimestampDifferenceExceeds(last_report, now, PGSTAT_STAT_INTERVAL))
|
||||||
return;
|
return;
|
||||||
last_report = now;
|
last_report = now;
|
||||||
|
|
||||||
|
@ -1491,7 +1492,7 @@ pgstat_beshutdown_hook(int code, Datum arg)
|
||||||
{
|
{
|
||||||
volatile PgBackendStatus *beentry = MyBEEntry;
|
volatile PgBackendStatus *beentry = MyBEEntry;
|
||||||
|
|
||||||
pgstat_report_tabstat();
|
pgstat_report_tabstat(true);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clear my status entry, following the protocol of bumping st_changecount
|
* Clear my status entry, following the protocol of bumping st_changecount
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.532 2007/04/16 18:21:07 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.533 2007/04/30 16:37:08 tgl Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* this is the "main" module of the postgres backend and
|
* this is the "main" module of the postgres backend and
|
||||||
|
@ -3444,7 +3444,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pgstat_report_tabstat();
|
pgstat_report_tabstat(false);
|
||||||
|
|
||||||
set_ps_display("idle", false);
|
set_ps_display("idle", false);
|
||||||
pgstat_report_activity("<IDLE>");
|
pgstat_report_activity("<IDLE>");
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
|
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/include/pgstat.h,v 1.57 2007/03/30 18:34:55 mha Exp $
|
* $PostgreSQL: pgsql/src/include/pgstat.h,v 1.58 2007/04/30 16:37:08 tgl Exp $
|
||||||
* ----------
|
* ----------
|
||||||
*/
|
*/
|
||||||
#ifndef PGSTAT_H
|
#ifndef PGSTAT_H
|
||||||
|
@ -416,7 +416,7 @@ extern void PgstatCollectorMain(int argc, char *argv[]);
|
||||||
*/
|
*/
|
||||||
extern void pgstat_ping(void);
|
extern void pgstat_ping(void);
|
||||||
|
|
||||||
extern void pgstat_report_tabstat(void);
|
extern void pgstat_report_tabstat(bool force);
|
||||||
extern void pgstat_vacuum_tabstat(void);
|
extern void pgstat_vacuum_tabstat(void);
|
||||||
extern void pgstat_drop_database(Oid databaseid);
|
extern void pgstat_drop_database(Oid databaseid);
|
||||||
extern void pgstat_drop_relation(Oid relid);
|
extern void pgstat_drop_relation(Oid relid);
|
||||||
|
|
Loading…
Reference in New Issue