diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-07-04 04:51:52 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-07-04 04:51:52 +0000 |
commit | eb5949d190e80360386113fde0f05854f0c9824d (patch) | |
tree | f5683b4ff77c0b311ae975817b88c5ccc65ce5a9 /src/backend/postmaster/syslogger.c | |
parent | 7504f0bae853b0b9fec03c8e361c8b1a4b1c3209 (diff) |
Arrange for the postmaster (and standalone backends, initdb, etc) to
chdir into PGDATA and subsequently use relative paths instead of absolute
paths to access all files under PGDATA. This seems to give a small
performance improvement, and it should make the system more robust
against naive DBAs doing things like moving a database directory that
has a live postmaster in it. Per recent discussion.
Diffstat (limited to 'src/backend/postmaster/syslogger.c')
-rw-r--r-- | src/backend/postmaster/syslogger.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 1899d8f21a1..c6f02520bfc 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -18,7 +18,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.15 2005/04/19 03:13:59 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.16 2005/07/04 04:51:47 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -422,17 +422,9 @@ SysLogger_Start(void) #endif /* - * create log directory if not present; ignore errors + * Create log directory if not present; ignore errors */ - if (is_absolute_path(Log_directory)) - mkdir(Log_directory, 0700); - else - { - filename = palloc(MAXPGPATH); - snprintf(filename, MAXPGPATH, "%s/%s", DataDir, Log_directory); - mkdir(filename, 0700); - pfree(filename); - } + mkdir(Log_directory, 0700); /* * The initial logfile is created right in the postmaster, to verify @@ -823,10 +815,7 @@ logfile_getname(pg_time_t timestamp) filename = palloc(MAXPGPATH); - if (is_absolute_path(Log_directory)) - snprintf(filename, MAXPGPATH, "%s/", Log_directory); - else - snprintf(filename, MAXPGPATH, "%s/%s/", DataDir, Log_directory); + snprintf(filename, MAXPGPATH, "%s/", Log_directory); len = strlen(filename); |