Skip site navigation (1) Skip section navigation (2)

Data directory with trailing [back]slash

From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
To: "PgSql-Win32" <pgsql-hackers-win32(at)postgresql(dot)org>
Subject: Data directory with trailing [back]slash
Date: 2004-06-20 18:53:28
Message-ID: 6BCB9D8A16AC4241919521715F4D8BCE1716BA@algol.sollentuna.se (view raw or flat)
Thread:
Lists: pgsql-hackers-win32pgsql-patches
Hi!

It's not possible to start the postmaster on win32 with:
postmaster -D d:\pgdata\
or
postmaster -D d:/pgdata/

but it does work with 
postmaster -D d:\pgdata
or
postmaster -D d:/pgdata/




This is because of the stat() call in postmaster.c in checkDataDir() -
stat() clearly does not work with trainling slash/backslash. I changed
the code to:

	strcpy(path, checkdir);
#ifdef WIN32
	if (path[strlen(path)-1] == '\\' || path[strlen(path)-1] == '/')
		path[strlen(path)-1] = 0;
#endif
	if (stat(path, &stat_buf) == -1)
	{
		if (errno == ENOENT)
			ereport(FATAL,
					(errcode_for_file_access(),
					 errmsg("data directory \"%s\"
does not exist",
							path)));
		else
			ereport(FATAL,
					(errcode_for_file_access(),
			 errmsg("could not read permissions of directory
\"%s\": %m",
					path)));
	}


It seems to work on my system. I'm not sure if this is a good place to
do it, though, or if it should be changed at a different place. (with
this fix it will use duplicate path separators elsewhere, but from what
I can see this appears to work just fine).

If this seems like a good idea, please apply from code above. If not,
please direct me to a better plavce to work :-)


This is all required for the win32 installer, because Windows Installer
automatically adds trailing backslashes to all paths.

//Magnus

Responses

pgsql-patches by date

Next:From: Tom LaneDate: 2004-06-20 19:33:23
Subject: Re: Data directory with trailing [back]slash
Previous:From: Magnus HaganderDate: 2004-06-20 18:29:14
Subject: Re: stderr & win32 admin check

pgsql-hackers-win32 by date

Next:From: Tom LaneDate: 2004-06-20 19:33:23
Subject: Re: Data directory with trailing [back]slash
Previous:From: Andreas PflugDate: 2004-06-20 09:28:26
Subject: Re: Compiling libpq with VisualC

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group