From 9b33c7e80d5ac9d85cbb9330f172a5e606876b1c Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Wed, 17 Aug 2016 10:39:22 +0200 Subject: [PATCH] Disable update_process_title by default on Windows The performance overhead of this can be significant on Windows, and most people don't have the tools to view it anyway as Windows does not have native support for process titles. Discussion: <0A3221C70F24FB45833433255569204D1F5BE3E8@G01JPEXMBYT05> Takayuki Tsunakawa --- doc/src/sgml/config.sgml | 2 ++ src/backend/utils/misc/guc.c | 4 ++++ src/bin/initdb/initdb.c | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 27176aa07c..0b14e60156 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -5430,6 +5430,8 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; is received by the server. The process title is typically viewed by the ps command, or in Windows by using the Process Explorer. + This value defaults to off on Windows platforms due to the + platform's significant overhead for updating the process title. Only superusers can change this setting. diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 0a58ba1fae..31172ef300 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1210,7 +1210,11 @@ static struct config_bool ConfigureNamesBool[] = gettext_noop("Enables updating of the process title every time a new SQL command is received by the server.") }, &update_process_title, +#ifdef WIN32 + false, +#else true, +#endif NULL, NULL, NULL }, diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 73cb7ee683..a978bbc328 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -1292,6 +1292,12 @@ setup_config(void) "#effective_io_concurrency = 0"); #endif +#ifdef WIN32 + conflines = replace_token(conflines, + "#update_process_title = on", + "#update_process_title = off"); +#endif + snprintf(path, sizeof(path), "%s/postgresql.conf", pg_data); writefile(path, conflines);