Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix cargo-pgrx and pgrx-tests on Windows #1934

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

usamoi
Copy link
Contributor

@usamoi usamoi commented Nov 1, 2024

Notes:

  1. postgres must run without administrator privileges, so switch calling postgres directly to starting postgres by pg_ctl in testing
  2. pgrx-cshim.c is compiled with -flto: without this flag, pgrx_embed.exe is linked to postgres.exe
  3. postgres binaries are download from EDB website, because I don't know how to compile postgres on Windows targeting msvc, and fix cargo-pgrx and pgrx-tests on Windows #1934 (comment)
  4. this pull request fixes PgLwLock and PgAtomic but introduces a breaking change about PgLwLock and PgAtomic: name must be provided at PgLwLock/PgAtomic::new, PgLwLock::from_named is removed and a parameter of PgLwLock::attach changes
  5. cargo pgrx run and cargo pgrx test always print logs for pg_ctl start on Windows (pipes generated by std::process::Command are leaked to postgres, a command with Stdio::piped() hangs, so we use Stdio::inherit() on Windows)
  6. fix cargo-pgrx and pgrx-tests on Windows #1934 (comment)
  7. Windows CI is added

@usamoi
Copy link
Contributor Author

usamoi commented Nov 1, 2024

raw syntax is stablized in 1.82 but it seems that CI does not know it fixed

@usamoi
Copy link
Contributor Author

usamoi commented Nov 1, 2024

It seems that https://patchwork.kernel.org/project/linux-hardening/patch/20180416175918.GA13494@beast/ breaks --runas on linux. I think the best solution is just telling user to execute sudo sysctl fs.protected_fifos=0 before using --runas.

@YohDeadfall
Copy link
Contributor

postgres binaries are download from EDB website, because I don't know how to compile postgres on Windows targeting msvc

The process is explained in the official documentation: https://www.postgresql.org/docs/16/install-windows.html

Not a Windows user for years, but can help if you're stuck with something (:

@usamoi
Copy link
Contributor Author

usamoi commented Nov 4, 2024

postgres binaries are download from EDB website, because I don't know how to compile postgres on Windows targeting msvc

The process is explained in the official documentation: https://www.postgresql.org/docs/16/install-windows.html

Not a Windows user for years, but can help if you're stuck with something (:

I'm curious if there are really any Windows developers. So, I'm planning to leave this feature here to see if anyone fixes it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants