• Tom Lane's avatar
    Fix assorted issues in pg_ctl's pgwin32_CommandLine(). · 79193c75
    Tom Lane authored
    Ensure that the invocation command for postgres or pg_ctl runservice
    double-quotes the executable's pathname; failure to do this leads to
    trouble when the path contains spaces.
    
    Also, ensure that the path ends in ".exe" in both cases and uses
    backslashes rather than slashes as directory separators.  The latter issue
    is reported to confuse some third-party tools such as Symantec Backup Exec.
    
    Also, rewrite the function to avoid buffer overrun issues by using a
    PQExpBuffer instead of a fixed-size static buffer.  Combinations of
    very long executable pathnames and very long data directory pathnames
    could have caused trouble before, for example.
    
    Back-patch to all active branches, since this code has been like this
    for a long while.
    
    Naoya Anzai and Tom Lane, reviewed by Rajeev Rastogi
    79193c75
pg_ctl.c 58.3 KB