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 usamoi force-pushed the win branch 2 times, most recently from 43cc5ca to e07355c Compare November 1, 2024 13:06
@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.

@usamoi usamoi force-pushed the win branch 6 times, most recently from 7a70740 to 8befc9f Compare November 2, 2024 18:24
@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.

@usamoi
Copy link
Contributor Author

usamoi commented Nov 29, 2024

👀 reviews?

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

Successfully merging this pull request may close these issues.

3 participants