mirror of
https://github.com/postgres/postgres.git
synced 2025-11-15 03:41:20 +03:00
Add log_duration to GUC/postgresql.conf.
Rename debug_print_query to log_statement and rename show_query_stats to show_statement_stats.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.287 2002/08/30 22:18:06 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.288 2002/09/01 23:26:06 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* this is the "main" module of the postgres backend and
|
||||
@@ -220,7 +220,7 @@ InteractiveBackend(StringInfo inBuf)
|
||||
* if the query echo flag was given, print the query..
|
||||
*/
|
||||
if (EchoQuery)
|
||||
printf("query: %s\n", inBuf->data);
|
||||
printf("statement: %s\n", inBuf->data);
|
||||
fflush(stdout);
|
||||
|
||||
return 'Q';
|
||||
@@ -372,7 +372,7 @@ pg_parse_query(StringInfo query_string, Oid *typev, int nargs)
|
||||
{
|
||||
List *raw_parsetree_list;
|
||||
|
||||
if (Debug_print_query)
|
||||
if (Log_statement)
|
||||
elog(LOG, "query: %s", query_string->data);
|
||||
|
||||
if (Show_parser_stats)
|
||||
@@ -561,9 +561,19 @@ pg_exec_query_string(StringInfo query_string, /* string to execute */
|
||||
MemoryContext oldcontext;
|
||||
List *parsetree_list,
|
||||
*parsetree_item;
|
||||
|
||||
struct timezone tz;
|
||||
struct timeval start_t, stop_t;
|
||||
bool save_Log_duration = Log_duration;
|
||||
|
||||
debug_query_string = query_string->data; /* used by pgmonitor */
|
||||
|
||||
/*
|
||||
* We use save_Log_duration so setting Log_duration to true doesn't
|
||||
* report incorrect time because gettimeofday() wasn't called.
|
||||
*/
|
||||
if (save_Log_duration)
|
||||
gettimeofday(&start_t, &tz);
|
||||
|
||||
/*
|
||||
* Start up a transaction command. All queries generated by the
|
||||
* query_string will be in this same command block, *unless* we find a
|
||||
@@ -850,6 +860,19 @@ pg_exec_query_string(StringInfo query_string, /* string to execute */
|
||||
if (xact_started)
|
||||
finish_xact_command();
|
||||
|
||||
if (save_Log_duration)
|
||||
{
|
||||
gettimeofday(&stop_t, &tz);
|
||||
if (stop_t.tv_usec < start_t.tv_usec)
|
||||
{
|
||||
stop_t.tv_sec--;
|
||||
stop_t.tv_usec += 1000000;
|
||||
}
|
||||
elog(LOG, "duration: %ld.%06ld sec",
|
||||
(long int) stop_t.tv_sec - start_t.tv_sec,
|
||||
(long int) stop_t.tv_usec - start_t.tv_usec);
|
||||
}
|
||||
|
||||
debug_query_string = NULL; /* used by pgmonitor */
|
||||
}
|
||||
|
||||
@@ -1234,7 +1257,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
if (atoi(optarg) >= 1)
|
||||
SetConfigOption("log_connections", "true", ctx, gucsource);
|
||||
if (atoi(optarg) >= 2)
|
||||
SetConfigOption("debug_print_query", "true", ctx, gucsource);
|
||||
SetConfigOption("log_statement", "true", ctx, gucsource);
|
||||
if (atoi(optarg) >= 3)
|
||||
SetConfigOption("debug_print_parse", "true", ctx, gucsource);
|
||||
if (atoi(optarg) >= 4)
|
||||
@@ -1377,7 +1400,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
/*
|
||||
* s - report usage statistics (timings) after each query
|
||||
*/
|
||||
SetConfigOption("show_query_stats", "true", ctx, gucsource);
|
||||
SetConfigOption("show_statement_stats", "true", ctx, gucsource);
|
||||
break;
|
||||
|
||||
case 't':
|
||||
@@ -1489,11 +1512,11 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
/*
|
||||
* Post-processing for command line options.
|
||||
*/
|
||||
if (Show_query_stats &&
|
||||
if (Show_statement_stats &&
|
||||
(Show_parser_stats || Show_planner_stats || Show_executor_stats))
|
||||
{
|
||||
elog(WARNING, "Query statistics are disabled because parser, planner, or executor statistics are on.");
|
||||
SetConfigOption("show_query_stats", "false", ctx, gucsource);
|
||||
SetConfigOption("show_statement_stats", "false", ctx, gucsource);
|
||||
}
|
||||
|
||||
if (!IsUnderPostmaster)
|
||||
@@ -1664,7 +1687,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
if (!IsUnderPostmaster)
|
||||
{
|
||||
puts("\nPOSTGRES backend interactive interface ");
|
||||
puts("$Revision: 1.287 $ $Date: 2002/08/30 22:18:06 $\n");
|
||||
puts("$Revision: 1.288 $ $Date: 2002/09/01 23:26:06 $\n");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1887,7 +1910,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
* Note: transaction command start/end is now done within
|
||||
* pg_exec_query_string(), not here.
|
||||
*/
|
||||
if (Show_query_stats)
|
||||
if (Show_statement_stats)
|
||||
ResetUsage();
|
||||
|
||||
pgstat_report_activity(parser_input->data);
|
||||
@@ -1896,7 +1919,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
whereToSendOutput,
|
||||
QueryContext);
|
||||
|
||||
if (Show_query_stats)
|
||||
if (Show_statement_stats)
|
||||
ShowUsage("QUERY STATISTICS");
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* command, configuration file, and command line options.
|
||||
* See src/backend/utils/misc/README for more information.
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.89 2002/08/30 22:18:07 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.90 2002/09/01 23:26:06 momjian Exp $
|
||||
*
|
||||
* Copyright 2000 by PostgreSQL Global Development Group
|
||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||
@@ -77,7 +77,8 @@ static const char *assign_facility(const char *facility,
|
||||
#ifdef USE_ASSERT_CHECKING
|
||||
bool assert_enabled = true;
|
||||
#endif
|
||||
bool Debug_print_query = false;
|
||||
bool Log_statement = false;
|
||||
bool Log_duration = false;
|
||||
bool Debug_print_plan = false;
|
||||
bool Debug_print_parse = false;
|
||||
bool Debug_print_rewritten = false;
|
||||
@@ -86,7 +87,7 @@ bool Debug_pretty_print = false;
|
||||
bool Show_parser_stats = false;
|
||||
bool Show_planner_stats = false;
|
||||
bool Show_executor_stats = false;
|
||||
bool Show_query_stats = false; /* this is sort of all three above
|
||||
bool Show_statement_stats = false; /* this is sort of all three above
|
||||
* together */
|
||||
bool Show_btree_build_stats = false;
|
||||
|
||||
@@ -362,7 +363,11 @@ static struct config_bool
|
||||
#endif
|
||||
|
||||
{
|
||||
{ "debug_print_query", PGC_USERSET }, &Debug_print_query,
|
||||
{ "log_statement", PGC_USERSET }, &Log_statement,
|
||||
false, NULL, NULL
|
||||
},
|
||||
{
|
||||
{ "log_duration", PGC_USERSET }, &Log_duration,
|
||||
false, NULL, NULL
|
||||
},
|
||||
{
|
||||
@@ -395,7 +400,7 @@ static struct config_bool
|
||||
false, NULL, NULL
|
||||
},
|
||||
{
|
||||
{ "show_query_stats", PGC_USERSET }, &Show_query_stats,
|
||||
{ "show_statement_stats", PGC_USERSET }, &Show_statement_stats,
|
||||
false, NULL, NULL
|
||||
},
|
||||
#ifdef BTREE_BUILD_STATS
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
#geqo = true
|
||||
#geqo_selection_bias = 2.0 # range 1.5-2.0
|
||||
#geqo_threshold = 11
|
||||
#geqo_pool_size = 0 # default based on tables in query,
|
||||
#geqo_pool_size = 0 # default based on tables in statement,
|
||||
# range 128-1024
|
||||
#geqo_effort = 1
|
||||
#geqo_generations = 0
|
||||
@@ -122,10 +122,11 @@
|
||||
#silent_mode = false
|
||||
|
||||
#log_connections = false
|
||||
#log_timestamp = false
|
||||
#log_pid = false
|
||||
#log_statement = false
|
||||
#log_duration = false
|
||||
#log_timestamp = false
|
||||
|
||||
#debug_print_query = false
|
||||
#debug_print_parse = false
|
||||
#debug_print_rewritten = false
|
||||
#debug_print_plan = false
|
||||
@@ -151,7 +152,7 @@
|
||||
#show_parser_stats = false
|
||||
#show_planner_stats = false
|
||||
#show_executor_stats = false
|
||||
#show_query_stats = false
|
||||
#show_statement_stats = false
|
||||
|
||||
# requires BTREE_BUILD_STATS
|
||||
#show_btree_build_stats = false
|
||||
|
||||
Reference in New Issue
Block a user