On Thu, May 29, 2014 at 12:37 AM, Peter Geoghegan <p...@heroku.com> wrote: > On Wed, May 28, 2014 at 7:01 AM, Fujii Masao <masao.fu...@gmail.com> wrote: >> But pg_stat_statements file is saved under $PGDATA/global yet. >> Is this intentional or just oversight? > > > I think it's an oversight.
OK, patch attached. I'm afraid that it's not okay to change the file layout in $PGDATA at this beta1 stage because that change basically seems to need initdb. Otherwise something like "no such file or directory" error can happen. But in this case what we need to change is only the location of the pg_stat_statements permanent stats file. So, without initdb, the server will not be able to find the pg_stat_statements stats file, but this is not so harmful. Only the problem is that the pg_stat_statements stats which were collected in past would disappear. OTOH, the server can keep running successfully from then and no critical data will not disappear. Therefore I think we can commit this patch even at beta1. Thought? Regards, -- Fujii Masao
From 8f3281566399bbb088b826b8fe9c3baa5027e5da Mon Sep 17 00:00:00 2001 From: MasaoFujii <masao.fu...@gmail.com> Date: Thu, 29 May 2014 02:14:34 +0900 Subject: [PATCH] Save pg_stat_statements statistics file into $PGDATA/pg_stat directory at shutdown. 187492b6c2e8cafc5b39063ca3b67846e8155d24 changed pgstat.c so that the stats files were saved into $PGDATA/pg_stat directory when the server was shutdowned. But it accidentally forgot to change the location of pg_stat_statements permanent stats file. This commit fixes pg_stat_statements so that its stats file is also saved into $PGDATA/pg_stat at shutdown. --- contrib/pg_stat_statements/pg_stat_statements.c | 2 +- src/backend/postmaster/pgstat.c | 8 -------- src/include/pgstat.h | 8 ++++++++ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index 32d16cc..a3e8c59 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -80,7 +80,7 @@ PG_MODULE_MAGIC; /* Location of permanent stats file (valid when database is shut down) */ -#define PGSS_DUMP_FILE "global/pg_stat_statements.stat" +#define PGSS_DUMP_FILE PGSTAT_STAT_PERMANENT_DIRECTORY "/pg_stat_statements.stat" /* * Location of external query text file. We don't keep it in the core diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index f864816..3ab1428 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -68,14 +68,6 @@ /* ---------- - * Paths for the statistics files (relative to installation's $PGDATA). - * ---------- - */ -#define PGSTAT_STAT_PERMANENT_DIRECTORY "pg_stat" -#define PGSTAT_STAT_PERMANENT_FILENAME "pg_stat/global.stat" -#define PGSTAT_STAT_PERMANENT_TMPFILE "pg_stat/global.tmp" - -/* ---------- * Timer definitions. * ---------- */ diff --git a/src/include/pgstat.h b/src/include/pgstat.h index d9de09f..0892533 100644 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -20,6 +20,14 @@ #include "utils/relcache.h" +/* ---------- + * Paths for the statistics files (relative to installation's $PGDATA). + * ---------- + */ +#define PGSTAT_STAT_PERMANENT_DIRECTORY "pg_stat" +#define PGSTAT_STAT_PERMANENT_FILENAME "pg_stat/global.stat" +#define PGSTAT_STAT_PERMANENT_TMPFILE "pg_stat/global.tmp" + /* Default directory to store temporary statistics data in */ #define PG_STAT_TMP_DIR "pg_stat_tmp" -- 1.7.12.4 (Apple Git-37)
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers