Thread: BUG #3439: pg_standby and path name with space

BUG #3439: pg_standby and path name with space

From
"ISHIDA Akio"
Date:
The following bug has been logged online:

Bug reference:      3439
Logged by:          ISHIDA Akio
Email address:      iakio@mono-space.net
PostgreSQL version: CVS HEAD
Operating system:   Windows XP
Description:        pg_standby and path name with space
Details:

pg_standby failed if path name containing spaces.

C:\Documents and Settings\ishida\pgsql>pg_standby -d "C:\Documents and
Settings\ ishida\pgsql\archive_dir" 000000010000000000000000 data\pg_xlog

Trigger file            : <not set>
Waiting for WAL file    : C:\Documents and
Settings\ishida\pgsql\archive_dir\000000010000000000000000
WAL file path           : 000000010000000000000000
Restoring to...         : data\pg_xlog
Sleep interval          : 5 seconds
Max wait interval       : 0 forever
Command for restore     : copy C:\Documents and
Settings\ishida\pgsql\archive_dir\000000010000000000000000 data\pg_xlog
Num archived files kept : all files
running restore         :The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
not restored            :


--- pg_standby.c        26 Jun 2007 22:05:02 -0000      1.6
+++ pg_standby.c        12 Jul 2007 19:03:19 -0000
@@ -69,7 +69,7 @@
 int nextWALFileType;

 #define SET_RESTORE_COMMAND(cmd, arg1, arg2) \
-       snprintf(restoreCommand, MAXPGPATH, cmd " %s %s", arg1, arg2)
+       snprintf(restoreCommand, MAXPGPATH, cmd " \"%s\" \"%s\"", arg1,
arg2)

 struct stat stat_buf;

Re: BUG #3439: pg_standby and path name with space

From
"Simon Riggs"
Date:
On Thu, 2007-07-12 at 19:36 +0000, ISHIDA Akio wrote:
> The following bug has been logged online:
>
> Bug reference:      3439
> Operating system:   Windows XP
> Description:        pg_standby and path name with space
> Details:
>
> pg_standby failed if path name containing spaces.
>
> C:\Documents and Settings\ishida\pgsql>pg_standby -d "C:\Documents and
> Settings\ ishida\pgsql\archive_dir" 000000010000000000000000 data\pg_xlog
>
> Trigger file            : <not set>
> Waiting for WAL file    : C:\Documents and
> Settings\ishida\pgsql\archive_dir\000000010000000000000000
> WAL file path           : 000000010000000000000000
> Restoring to...         : data\pg_xlog
> Sleep interval          : 5 seconds
> Max wait interval       : 0 forever
> Command for restore     : copy C:\Documents and
> Settings\ishida\pgsql\archive_dir\000000010000000000000000 data\pg_xlog
> Num archived files kept : all files
> running restore         :The system cannot find the file specified.
> The system cannot find the file specified.
> The system cannot find the file specified.
> not restored            :

Magnus,

Looks to me like the following patch would fix the reported issue on
Windows:

> --- pg_standby.c        26 Jun 2007 22:05:02 -0000      1.6
> +++ pg_standby.c        12 Jul 2007 19:03:19 -0000
> @@ -69,7 +69,7 @@
>  int nextWALFileType;
>
>  #define SET_RESTORE_COMMAND(cmd, arg1, arg2) \
> -       snprintf(restoreCommand, MAXPGPATH, cmd " %s %s", arg1, arg2)
> +       snprintf(restoreCommand, MAXPGPATH, cmd " \"%s\" \"%s\"", arg1,
> arg2)
>
>  struct stat stat_buf;

--
  Simon Riggs
  EnterpriseDB  http://www.enterprisedb.com


Re: BUG #3439: pg_standby and path name with space

From
Magnus Hagander
Date:
On Fri, Jul 13, 2007 at 09:29:59AM +0100, Simon Riggs wrote:
> On Thu, 2007-07-12 at 19:36 +0000, ISHIDA Akio wrote:
> > The following bug has been logged online:
> >
> > Bug reference:      3439
> > Operating system:   Windows XP
> > Description:        pg_standby and path name with space
> > Details:
> >
> > pg_standby failed if path name containing spaces.
> >
> > C:\Documents and Settings\ishida\pgsql>pg_standby -d "C:\Documents and
> > Settings\ ishida\pgsql\archive_dir" 000000010000000000000000 data\pg_xlog
> >
> > Trigger file            : <not set>
> > Waiting for WAL file    : C:\Documents and
> > Settings\ishida\pgsql\archive_dir\000000010000000000000000
> > WAL file path           : 000000010000000000000000
> > Restoring to...         : data\pg_xlog
> > Sleep interval          : 5 seconds
> > Max wait interval       : 0 forever
> > Command for restore     : copy C:\Documents and
> > Settings\ishida\pgsql\archive_dir\000000010000000000000000 data\pg_xlog
> > Num archived files kept : all files
> > running restore         :The system cannot find the file specified.
> > The system cannot find the file specified.
> > The system cannot find the file specified.
> > not restored            :
>
> Magnus,
>
> Looks to me like the following patch would fix the reported issue on
> Windows:

Is this actually a Windows issue? Doesn't the same problem show up on Unix
if you have a space in the path? (It's a lot more common on Windows, but
it'spossible on Unix as well).

It does seem that the fix should work on Unix as well though, but just to
we label the thing correctly.

//Magnus

Re: BUG #3439: pg_standby and path name with space

From
"Devinder Singh"
Date:
Hi Can anytone tell me how can i get the pgestraier test database

 
On 13/07/07, Magnus Hagander <magnus@hagander.net> wrote:
On Fri, Jul 13, 2007 at 09:29:59AM +0100, Simon Riggs wrote:
> On Thu, 2007-07-12 at 19:36 +0000, ISHIDA Akio wrote:
> > The following bug has been logged online:
> >
> > Bug reference:      3439
> > Operating system:   Windows XP
> > Description:        pg_standby and path name with space
> > Details:
> >
> > pg_standby failed if path name containing spaces.
> >
> > C:\Documents and Settings\ishida\pgsql>pg_standby -d "C:\Documents and
> > Settings\ ishida\pgsql\archive_dir" 000000010000000000000000 data\pg_xlog
> >
> > Trigger file            : <not set>
> > Waiting for WAL file    : C:\Documents and
> > Settings\ishida\pgsql\archive_dir\000000010000000000000000
> > WAL file path           : 000000010000000000000000
> > Restoring to...         : data\pg_xlog
> > Sleep interval          : 5 seconds
> > Max wait interval       : 0 forever
> > Command for restore     : copy C:\Documents and
> > Settings\ishida\pgsql\archive_dir\000000010000000000000000 data\pg_xlog
> > Num archived files kept : all files
> > running restore         :The system cannot find the file specified.
> > The system cannot find the file specified.
> > The system cannot find the file specified.
> > not restored            :
>
> Magnus,
>
> Looks to me like the following patch would fix the reported issue on
> Windows:

Is this actually a Windows issue? Doesn't the same problem show up on Unix
if you have a space in the path? (It's a lot more common on Windows, but
it'spossible on Unix as well).

It does seem that the fix should work on Unix as well though, but just to
we label the thing correctly.

//Magnus

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq



--
Devinder

Re: BUG #3439: pg_standby and path name with space

From
Magnus Hagander
Date:
On Fri, Jul 13, 2007 at 10:50:16AM +0200, Magnus Hagander wrote:
> On Fri, Jul 13, 2007 at 09:29:59AM +0100, Simon Riggs wrote:
> > On Thu, 2007-07-12 at 19:36 +0000, ISHIDA Akio wrote:
> > > The following bug has been logged online:
> > >
> > > Bug reference:      3439
> > > Operating system:   Windows XP
> > > Description:        pg_standby and path name with space
> > > Details:
> > >
> > > pg_standby failed if path name containing spaces.
> > >
> > > C:\Documents and Settings\ishida\pgsql>pg_standby -d "C:\Documents and
> > > Settings\ ishida\pgsql\archive_dir" 000000010000000000000000 data\pg_xlog
> > >
> > > Trigger file            : <not set>
> > > Waiting for WAL file    : C:\Documents and
> > > Settings\ishida\pgsql\archive_dir\000000010000000000000000
> > > WAL file path           : 000000010000000000000000
> > > Restoring to...         : data\pg_xlog
> > > Sleep interval          : 5 seconds
> > > Max wait interval       : 0 forever
> > > Command for restore     : copy C:\Documents and
> > > Settings\ishida\pgsql\archive_dir\000000010000000000000000 data\pg_xlog
> > > Num archived files kept : all files
> > > running restore         :The system cannot find the file specified.
> > > The system cannot find the file specified.
> > > The system cannot find the file specified.
> > > not restored            :
> >
> > Magnus,
> >
> > Looks to me like the following patch would fix the reported issue on
> > Windows:
>
> Is this actually a Windows issue? Doesn't the same problem show up on Unix
> if you have a space in the path? (It's a lot more common on Windows, but
> it'spossible on Unix as well).
>
> It does seem that the fix should work on Unix as well though, but just to
> we label the thing correctly.

My own very trivial checks shows it should, so I've applied this patch.

Thanks!

//Magnus