diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 49fd26803c4269b550fa44fbec7ec60ff87bfdcb..e0962dfb8bea1172aa3b58071da8fb43e95c4994 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -4,7 +4,7 @@ * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.9 2004/06/10 16:35:17 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.10 2004/06/10 17:26:14 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -222,9 +222,13 @@ start_postmaster(void) */ char cmd[MAXPGPATH]; - /* Does '&' work on Win32? */ if (log_file != NULL) + /* Win32 needs START rather than "&" */ +#ifndef WIN32 snprintf(cmd, MAXPGPATH, "%s\"%s\" %s < %s >> \"%s\" 2>&1 &%s", +#else + snprintf(cmd, MAXPGPATH, "START %s\"%s\" %s < %s >> \"%s\" 2>&1%s", +#endif SYSTEMQUOTE, postgres_path, post_opts, DEVNULL, log_file, SYSTEMQUOTE); else