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
This commit is contained in:
Magnus Hagander 2016-08-17 10:39:22 +02:00
parent d125d25790
commit 0921554657
3 changed files with 12 additions and 0 deletions

View File

@ -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 <command>ps</> command,
or in Windows by using the <application>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.
</para>
</listitem>

View File

@ -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
},

View File

@ -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);