Subject: [pgjdbc/pgjdbc] PR #3966: chore: replace Appveyor with ikalnytskyi/action-setup-postgres

From: "vlsi (@vlsi)" <[email-masked]>
Date: Mon, 16 Mar 2026 07:47:30 +0000

Fixes https://github.com/pgjdbc/pgjdbc/issues/2845

PG installation takes ~3 mintues. The tests take 12 minutes vs 6 minutes for the regular ubuntu runners.

The slowdown is unfortunate, however, it is still faster than Appveyor

---

From: "gitguardian[bot] (bot) (@gitguardian[bot])" <noreply+gitguardian[bot]@github.com>
Date: Mon, 16 Mar 2026 08:32:11 +0000

#### ⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

Since your pull request originates from a forked repository, GitGuardian is not able to associate the secrets uncovered with secret incidents on your GitGuardian dashboard.
Skipping this check run and merging your pull request will create secret incidents on your GitGuardian dashboard.

<details>
<summary>🔎 Detected hardcoded secret in your pull request</summary>
<br>

| GitGuardian id | GitGuardian status | Secret                         | Commit           | Filename        |                      |
| -------------- | ------------------ | ------------------------------ | ---------------- | --------------- | -------------------- |
| [-](https://dashboard.gitguardian.com/workspace/59849/incidents/secrets) | - | Generic Password | a15cc136cd2ab97c6517194fc844b6d4f51e894d | .github/workflows/main.yml | [View secret](https://github.com/pgjdbc/pgjdbc/commit/a15cc136cd2ab97c6517194fc844b6d4f51e894d#diff-7829468e86c1cc5d5133195b5cb48e1ff6c75e3e9203777f6b2e379d9e4882b3R178) |

</details>

<details>
<summary>🛠 Guidelines to remediate hardcoded secrets</summary>
<br>

1. Understand the implications of revoking this secret by investigating where it is used in your code.
2. Replace and store your secret safely. [Learn here](https://blog.gitguardian.com/secrets-api-management?utm_source=product&amp;utm_medium=GitHub_checks&amp;utm_campaign=check_run_comment) the best practices.
3. Revoke and [rotate this secret](https://docs.gitguardian.com/secrets-detection/secrets-detection-engine/detectors/generics/generic_password#revoke-the-secret?utm_source=product&amp;utm_medium=GitHub_checks&amp;utm_campaign=check_run_comment).
4. If possible, [rewrite git history](https://blog.gitguardian.com/rewriting-git-history-cheatsheet?utm_source=product&amp;utm_medium=GitHub_checks&amp;utm_campaign=check_run_comment). Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider

-   following these [best practices](https://blog.gitguardian.com/secrets-api-management/?utm_source=product&amp;utm_medium=GitHub_checks&amp;utm_campaign=check_run_comment) for managing and storing secrets including API keys and other credentials
-   install [secret detection on pre-commit](https://docs.gitguardian.com/ggshield-docs/integrations/git-hooks/pre-commit?utm_source=product&amp;utm_medium=GitHub_checks&amp;utm_campaign=check_run_comment) to catch secret before it leaves your machine and ease remediation.

</details>

---

<sup>🦉 [GitGuardian](https://dashboard.gitguardian.com/auth/login/?utm_medium=checkruns&amp;utm_source=github&amp;utm_campaign=cr1) detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.<br/></sup>

---

From: "vlsi (@vlsi)" <[email-masked]>
Date: Tue, 17 Mar 2026 15:48:43 +0000

I guess this is feature complete.
I guess the main cause of the slowness is the time it takes to establish connections. We could probably add connection caching in the future so parameterized tests reuse connections rather than recreate them for every parameter combination.

@bokken , @sehrope , @davecramer , do you have any comments/suggestions/objections?

---

From: "sehrope (@sehrope)" <[email-masked]>
Date: Tue, 17 Mar 2026 17:30:28 +0000

I'd prefer to have less external dependencies in the repo over time. I took a peek at ikalnytskyi/action-setup-postgres (never hard of it before...) and it does look pretty clean. Though I don't think we need it.

I'm not sure we even need to build on Windows / MacOS or test against PostgreSQL running on either. If we just had something that could run our already build jar on those against a Linux PostgreSQL server I think it's enough. That'd solve a lot of the startup issues.

---

From: "vlsi (@vlsi)" <[email-masked]>
Date: Tue, 17 Mar 2026 17:33:37 +0000

Windows tests identified different os behavior regarding sslMode=prefer/allow fallback which look like true os-specific differences to me rather than just ability to build jar on Windows

---

From: "sehrope (@sehrope)" <[email-masked]>
Date: Tue, 17 Mar 2026 17:35:42 +0000

And this PR touches more than just tests / appveyor. It changes how we handle ssl mode for `prefer`. You should call that in the title and description.

---

From: "vlsi (@vlsi)" <[email-masked]>
Date: Tue, 17 Mar 2026 17:45:42 +0000

I've extracted `sslMode=allow` handling to https://github.com/pgjdbc/pgjdbc/pull/3973