|From:||PG Bug reporting form <noreply(at)postgresql(dot)org>|
|Subject:||BUG #16259: Cannot Use "pg_ctl start -l logfile" on Clean Install on Windows Server 2012/2016|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
The following bug has been logged on the website:
Bug reference: 16259
Logged by: Jonathan Katz
Email address: jkatz(at)postgresql(dot)org
PostgreSQL version: 12.2
Operating system: Windows Server 2012, Windows Server 2016
When testing PostgreSQL 12.2 on Windows built using MSVC (this potentially
affects mingw too, though untested) on both Windows Server 2012 & 2016, we
are having issues with a newly generated log file on a fresh PostgreSQL
cluster when PostgreSQL is started with pg_ctl. If the log file was created
with a prior version of PostgreSQL, or if you manually create the log file
and grant the executing user the appropriate file access permissions,
everything works fine.
In other words, the issue occurs when passing a file name to the `-l` flag
where the log file does not already exist. The steps to reproduce this
1. Install a PostgreSQL 12.2 Windows build on a Windows Server 2012 or a
Windows Server 2016 machien
2. Run initdb to initialize a new PostgreSQL cluster
3. Run `pg_ctl start -l logfile` where "logfile" does not currently exist
The resulting output should look like:
Access is denied.
waiting for server to start... stopped waiting
pg_ctl: could not start server
Examine the log output.
If you try to look at the logfile you will see that it is completely empty.
If you then change the permissions to grant the current user full access to
the logfile and run the above command again it will start without any
We think this was introduced in 0da33c76. One approach for a fix would be to
add a condition so the added code only executes if the file already exists,
and if the file does not exist it executes the "snprintf" command like
Please let me know if you need any clarifications. Thanks!
|Next Message||Tom Lane||2020-02-14 17:45:27||Re: BUG #16259: Cannot Use "pg_ctl start -l logfile" on Clean Install on Windows Server 2012/2016|
|Previous Message||Tom Lane||2020-02-14 17:30:59||Re: BUG #16258: exec_simple_query does not call ProcessCompletedNotifies after CommitTransactionCommand|