Set log_line_prefix and application name in test drivers
Before pg_regress runs psql, set the application name to the test name. Similarly, set the application name to the test file name in the TAP tests. Also, set a default log_line_prefix that show the application name, as well as the PID and a time stamp. That way, the server log output can be correlated to the test input files, making debugging a bit easier.
This commit is contained in:
parent
f002ed2b8e
commit
a4327296df
@ -409,6 +409,7 @@ sub init
|
|||||||
open my $conf, ">>$pgdata/postgresql.conf";
|
open my $conf, ">>$pgdata/postgresql.conf";
|
||||||
print $conf "\n# Added by PostgresNode.pm\n";
|
print $conf "\n# Added by PostgresNode.pm\n";
|
||||||
print $conf "fsync = off\n";
|
print $conf "fsync = off\n";
|
||||||
|
print $conf "log_line_prefix = '%m [%p] %q%a '\n";
|
||||||
print $conf "log_statement = all\n";
|
print $conf "log_statement = all\n";
|
||||||
print $conf "port = $port\n";
|
print $conf "port = $port\n";
|
||||||
|
|
||||||
|
@ -62,6 +62,8 @@ BEGIN
|
|||||||
delete $ENV{PGPORT};
|
delete $ENV{PGPORT};
|
||||||
delete $ENV{PGHOST};
|
delete $ENV{PGHOST};
|
||||||
|
|
||||||
|
$ENV{PGAPPNAME} = $0;
|
||||||
|
|
||||||
# Must be set early
|
# Must be set early
|
||||||
$windows_os = $Config{osname} eq 'MSWin32' || $Config{osname} eq 'msys';
|
$windows_os = $Config{osname} eq 'MSWin32' || $Config{osname} eq 'msys';
|
||||||
}
|
}
|
||||||
|
@ -2270,6 +2270,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
|
|||||||
fputs("\n# Configuration added by pg_regress\n\n", pg_conf);
|
fputs("\n# Configuration added by pg_regress\n\n", pg_conf);
|
||||||
fputs("log_autovacuum_min_duration = 0\n", pg_conf);
|
fputs("log_autovacuum_min_duration = 0\n", pg_conf);
|
||||||
fputs("log_checkpoints = on\n", pg_conf);
|
fputs("log_checkpoints = on\n", pg_conf);
|
||||||
|
fputs("log_line_prefix = '%m [%p] %q%a '\n", pg_conf);
|
||||||
fputs("log_lock_waits = on\n", pg_conf);
|
fputs("log_lock_waits = on\n", pg_conf);
|
||||||
fputs("log_temp_files = 128kB\n", pg_conf);
|
fputs("log_temp_files = 128kB\n", pg_conf);
|
||||||
fputs("max_prepared_transactions = 2\n", pg_conf);
|
fputs("max_prepared_transactions = 2\n", pg_conf);
|
||||||
|
@ -34,6 +34,7 @@ psql_start_test(const char *testname,
|
|||||||
char expectfile[MAXPGPATH];
|
char expectfile[MAXPGPATH];
|
||||||
char psql_cmd[MAXPGPATH * 3];
|
char psql_cmd[MAXPGPATH * 3];
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
|
char *appnameenv;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Look for files in the output dir first, consistent with a vpath search.
|
* Look for files in the output dir first, consistent with a vpath search.
|
||||||
@ -63,6 +64,9 @@ psql_start_test(const char *testname,
|
|||||||
offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
|
offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
|
||||||
"%s ", launcher);
|
"%s ", launcher);
|
||||||
|
|
||||||
|
appnameenv = psprintf("PGAPPNAME=pg_regress/%s", testname);
|
||||||
|
putenv(appnameenv);
|
||||||
|
|
||||||
snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
|
snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
|
||||||
"\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1",
|
"\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1",
|
||||||
bindir ? bindir : "",
|
bindir ? bindir : "",
|
||||||
@ -80,6 +84,9 @@ psql_start_test(const char *testname,
|
|||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsetenv("PGAPPNAME");
|
||||||
|
free(appnameenv);
|
||||||
|
|
||||||
return pid;
|
return pid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user