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

support Postgres 16, bump Flyway #9927

Merged
merged 5 commits into from Jan 8, 2024
Merged

support Postgres 16, bump Flyway #9927

merged 5 commits into from Jan 8, 2024

Conversation

donsizemore
Copy link
Contributor

@donsizemore donsizemore commented Sep 18, 2023

What this PR does / why we need it:

Add support for Postgres 16 (and correct installer for Postgres 15+).
Flyway appears to support Postgres 16 already; it doesn't complain about versions in server.log.

Which issue(s) this PR closes:

Special notes for your reviewer:

Also test in 13 if that remains the recommended version.

Suggestions on how to test this:

Run installer.

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

No

Is there a release notes update needed for this change?:

Perhaps to announce support for the new version.

Additional documentation:

None.

@coveralls
Copy link

coveralls commented Sep 18, 2023

Coverage Status

coverage: 20.165%. remained the same
when pulling 8ec0098 on 9920_postgres16
into 871f373 on develop.

@github-actions

This comment has been minimized.

@pdurbin
Copy link
Member

pdurbin commented Oct 5, 2023

"Yes! , I see that this version of the Python installer has corrected both bugs." -- https://groups.google.com/g/dataverse-community/c/0gNosyqvAhg/m/3SxpJysJAwAJ

@cmbz cmbz added this to Ready for Review ⏩ in IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) via automation Oct 26, 2023
@cmbz cmbz added the Size: 10 A percentage of a sprint. 7 hours. label Nov 8, 2023
@yorickdowne
Copy link

Flyway 10.0.1 does not support PostgreSQL 16. Here's output from a project of mine:

eth-holesky-web3signer-1  | Flyway OSS Edition 10.0.1 by Redgate
eth-holesky-web3signer-1  | 
eth-holesky-web3signer-1  | See release notes here: https://rd.gt/416ObMi
eth-holesky-web3signer-1  | Database: jdbc:postgresql://postgres/web3signer (PostgreSQL 16.1)
eth-holesky-web3signer-1  | WARNING: Flyway upgrade recommended: PostgreSQL 16.1 is newer than this version of Flyway and support has not been tested. The latest supported version of PostgreSQL is 15.
eth-holesky-web3signer-1  | Successfully validated 12 migrations (execution time 00:00.024s)
eth-holesky-web3signer-1  | Current version of schema "public": 00012
eth-holesky-web3signer-1  | Schema "public" is up to date. No migration necessary.

This is a drive-by comment on a project I'm not related with. :) FWIW, recommend waiting for official flyway support - it works right now but isn't supported - and possibly even PostgreSQL 16.2 on the theory that the .2 release is the one that is generally safe to move to.

@donsizemore
Copy link
Contributor Author

@yorickdowne the Dataverse installation routine is no stranger to that Flyway warning, and Dataverse's use of Flyway is simple enough that in the past developers haven't anticipated (or experienced) any problems. Note that this PR allows installation on newer versions of Postgres (14+) though the recommended version in the documentation remains 13, for now.

@stevenwinship stevenwinship self-requested a review December 1, 2023 15:20
@stevenwinship stevenwinship self-assigned this Dec 1, 2023
@stevenwinship stevenwinship removed their request for review December 1, 2023 15:28
@stevenwinship stevenwinship removed their assignment Dec 4, 2023
@pdurbin pdurbin self-assigned this Dec 15, 2023
Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a quick question for now.

pom.xml Show resolved Hide resolved
@donsizemore donsizemore changed the title support Postgres 16 support Postgres 16, bump FlyWay Dec 18, 2023
Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we please have a release note?

Also, for "how to test" is says "run installer" but can this be beefed up a bit? We need to run the installer against pg < 15 and with pg 16 at minimum, right? That should hit the conditional. Do we need to test pg 15 as well? Should the pg < 15 version be 13 since that's what we support? Do we care about pg 14?

pom.xml Show resolved Hide resolved
Copy link

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:9920-postgres16
ghcr.io/gdcc/configbaker:9920-postgres16

🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name.

@pdurbin
Copy link
Member

pdurbin commented Jan 4, 2024

@donsizemore thanks for adding the release note snippet.

Any thoughts on what I wrote about how to test?

@pdurbin
Copy link
Member

pdurbin commented Jan 4, 2024

Jenkins tests were failing so I merged the latest from develop to kick off another run.

@donsizemore
Copy link
Contributor Author

@donsizemore Any thoughts on what I wrote about how to test?

Just test the installer on Postgres versions 13-16. In Dataverse-Ansible this is most easily achieved by bumping db.postgres.version in group_vars. I'd suppose the target versions would be 13 and 16, but 14 or 15 may be useful to some organizations?

@pdurbin pdurbin changed the title support Postgres 16, bump FlyWay support Postgres 16, bump Flyway Jan 8, 2024
Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great. I tested it with PG 13, 15, and 16.

For 15 and above an extra line is printed:

performing database setup
Admin database connectivity succeeds.
PostgreSQL version: 16
PostgreSQL 15 or higher detected. Running GRANT CREATE ON SCHEMA public TO dvnapp;
Database and role created!

I confirmed the UI was available after each test. I'll go ahead and merge it. Thanks, @donsizemore! ❤️

IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) automation moved this from Ready for Review ⏩ to Ready for QA ⏩ Jan 8, 2024
@pdurbin pdurbin merged commit 17bfeb9 into develop Jan 8, 2024
16 of 18 checks passed
IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) automation moved this from Ready for QA ⏩ to Done 🚀 Jan 8, 2024
@pdurbin pdurbin deleted the 9920_postgres16 branch January 8, 2024 21:52
@pdurbin pdurbin added this to the 6.2 milestone Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Size: 10 A percentage of a sprint. 7 hours.
Projects
Status: Done 🧹
Development

Successfully merging this pull request may close these issues.

Postgres 16 is released
6 participants