On Tue, Aug 19, 2025 at 12:52:24PM +0000, Hayato Kuroda (Fujitsu) wrote: > I have run the tests on my CI and found that windows cannot accept the test. > Per attached output, starting the postgres with the single-user mode was > failed > because the user had admin permissions [1]. However, pg_ctl start command > could be > done by the same user. > I'm not familiar with Windows, but according to your blogpost [2], Windows > seems > to allows running some server command by generating the restricted context for > running postgres commands. In case of single-user mode, however, we directly > run > the given command with the current user. So, there is a possibility that only > instance can boot only by pg_ctl. > Based on that, I want to skip the test on windows platform rather than > modifying > the ci environment. > > IIUC, other tests which uses --single cannot work on windows as well.
This has reminded me of 1a9d80282811, where I have used a trick with pg_ctl to allow single-user mode executions to bypass the privileged account permission failure, but I don't see what we could do here as we should pass down commands to postgres for execution via stdin for IPC::Run. We don't really have anything WIN32-specific, so skipping the tests on Windows sounds fine by me. One thing that you have forgotten is to update EXTRA_INSTALL to add test_decoding, or a make check in the module fails. I have expanded a bit more the tests, as for example we have paths based on active_pid for temporary slots, which could matter at some point. I have added a few more things with physical slots. With all that in mind, I don't really see the point of 0002. There was also a mention of replication origins upthread, but we don't really have anything specific to a shared state or a validation in this area AFAIK, so I don't think that test additions are worth it in this case. -- Michael
signature.asc
Description: PGP signature