Skip to content

Commit 3e5a516

Browse files
authored
Merge pull request #11215 from uncch-rdmc/11212_postgres_16
update docs to PostgreSQL 16
2 parents 66269e2 + 7910fec commit 3e5a516

File tree

5 files changed

+22
-17
lines changed

5 files changed

+22
-17
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Per <https://www.postgresql.org/support/versioning/> PostgreSQL 13 reaches EOL on 13 November 2025. Our first step toward moving off version 13 was to [switch](https://github.com/gdcc/dataverse-ansible/commit/8ebbd84ad2cf3903b8f995f0d34578250f4223ff) our testing to version 16, as we've [noted](https://dataverse-guide--11215.org.readthedocs.build/en/11215/installation/prerequisites.html#postgresql) in the guides. You are encouraged to start planning your upgrade and may want to review the [Dataverse 5.4 release notes](https://github.com/IQSS/dataverse/releases/tag/v5.4) as the upgrade process (e.g. `pg_dumpall`, etc.) will likely be similar. If you notice any bumps along the way, please let us know!
2+
3+
Dataverse developers [using Docker](https://guides.dataverse.org/en/6.5/container/dev-usage.html) have been using PostgreSQL 17 since Dataverse 6.5 (#10912). (Developers not using Docker who are still on PostgreSQL 13 are encouraged to upgrade.) Older or newer versions should work, within reason.
4+
5+
See also #11212 and #11215.

doc/sphinx-guides/source/developers/classic-dev-env.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,23 +113,23 @@ Install Service Dependencies Directly on localhost
113113
Install PostgreSQL
114114
^^^^^^^^^^^^^^^^^^
115115

116-
The Dataverse Software has been tested with PostgreSQL versions up to 13. PostgreSQL version 10+ is required.
116+
The Dataverse Software has been tested with PostgreSQL versions up to 17. PostgreSQL version 10+ is required.
117117

118-
On Mac, go to https://www.postgresql.org/download/macosx/ and choose "Interactive installer by EDB" option. Note that version 13.5 is used in the command line examples below, but the process should be similar for other versions. When prompted to set a password for the "database superuser (postgres)" just enter "password".
118+
On Mac, go to https://www.postgresql.org/download/macosx/ and choose "Interactive installer by EDB" option. Note that version 16 is used in the command line examples below, but the process should be similar for other versions. When prompted to set a password for the "database superuser (postgres)" just enter "password".
119119

120120
After installation is complete, make a backup of the ``pg_hba.conf`` file like this:
121121

122-
``sudo cp /Library/PostgreSQL/13/data/pg_hba.conf /Library/PostgreSQL/13/data/pg_hba.conf.orig``
122+
``sudo cp /Library/PostgreSQL/16/data/pg_hba.conf /Library/PostgreSQL/16/data/pg_hba.conf.orig``
123123

124124
Then edit ``pg_hba.conf`` with an editor such as vi:
125125

126-
``sudo vi /Library/PostgreSQL/13/data/pg_hba.conf``
126+
``sudo vi /Library/PostgreSQL/16/data/pg_hba.conf``
127127

128128
In the "METHOD" column, change all instances of "scram-sha-256" (or whatever is in that column) to "trust". This will make it so PostgreSQL doesn't require a password.
129129

130-
In the Finder, click "Applications" then "PostgreSQL 13" and launch the "Reload Configuration" app. Click "OK" after you see "server signaled".
130+
In the Finder, click "Applications" then "PostgreSQL 16" and launch the "Reload Configuration" app. Click "OK" after you see "server signaled".
131131

132-
Next, to confirm the edit worked, launch the "pgAdmin" application from the same folder. Under "Browser", expand "Servers" and double click "PostgreSQL 13". When you are prompted for a password, leave it blank and click "OK". If you have successfully edited "pg_hba.conf", you can get in without a password.
132+
Next, to confirm the edit worked, launch the "pgAdmin" application from the same folder. Under "Browser", expand "Servers" and double click "PostgreSQL 16". When you are prompted for a password, leave it blank and click "OK". If you have successfully edited "pg_hba.conf", you can get in without a password.
133133

134134
On Linux, you should just install PostgreSQL using your favorite package manager, such as ``yum``. (Consult the PostgreSQL section of :doc:`/installation/prerequisites` in the main Installation guide for more info and command line examples). Find ``pg_hba.conf`` and set the authentication method to "trust" and restart PostgreSQL.
135135

doc/sphinx-guides/source/installation/installation-main.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ You should have already downloaded the installer from https://github.com/IQSS/da
2222

2323
Unpack the zip file - this will create the directory ``dvinstall``.
2424

25-
**Important:** The installer will need to use the PostgreSQL command line utility ``psql`` in order to configure the database. If the executable is not in your system PATH, the installer will try to locate it on your system. However, we strongly recommend that you check and make sure it is in the PATH. This is especially important if you have multiple versions of PostgreSQL installed on your system. Make sure the psql that came with the version that you want to use with your Dataverse installation is the first on your path. For example, if the PostgreSQL distribution you are running is installed in /Library/PostgreSQL/13, add /Library/PostgreSQL/13/bin to the beginning of your $PATH variable. If you are *running* multiple PostgreSQL servers, make sure you know the port number of the one you want to use, as the installer will need it in order to connect to the database (the first PostgreSQL distribution installed on your system is likely using the default port 5432; but the second will likely be on 5433, etc.) Does every word in this paragraph make sense? If it does, great - because you definitely need to be comfortable with basic system tasks in order to install the Dataverse Software. If not - if you don't know how to check where your PostgreSQL is installed, or what port it is running on, or what a $PATH is... it's not too late to stop. Because it will most likely not work. And if you contact us for help, these will be the questions we'll be asking you - so, again, you need to be able to answer them comfortably for it to work.
25+
**Important:** The installer will need to use the PostgreSQL command line utility ``psql`` in order to configure the database. If the executable is not in your system PATH, the installer will try to locate it on your system. However, we strongly recommend that you check and make sure it is in the PATH. This is especially important if you have multiple versions of PostgreSQL installed on your system. Make sure the psql that came with the version that you want to use with your Dataverse installation is the first on your path. For example, if the PostgreSQL distribution you are running is installed in /Library/PostgreSQL/16, add /Library/PostgreSQL/16/bin to the beginning of your $PATH variable. If you are *running* multiple PostgreSQL servers, make sure you know the port number of the one you want to use, as the installer will need it in order to connect to the database (the first PostgreSQL distribution installed on your system is likely using the default port 5432; but the second will likely be on 5433, etc.) Does every word in this paragraph make sense? If it does, great - because you definitely need to be comfortable with basic system tasks in order to install the Dataverse Software. If not - if you don't know how to check where your PostgreSQL is installed, or what port it is running on, or what a $PATH is... it's not too late to stop. Because it will most likely not work. And if you contact us for help, these will be the questions we'll be asking you - so, again, you need to be able to answer them comfortably for it to work.
2626

2727
**It is no longer necessary to run the installer as root!**
2828

doc/sphinx-guides/source/installation/prerequisites.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,21 +97,21 @@ Also note that Payara may utilize more than the default number of file descripto
9797
PostgreSQL
9898
----------
9999

100-
PostgreSQL 13 is recommended because it's the version we test against. Version 10 or higher is required because that's what's `supported by Flyway <https://documentation.red-gate.com/fd/postgresql-184127604.html>`_, which we use for database migrations.
100+
PostgreSQL 16 is recommended because it's the version we test against. Version 10 or higher is required because that's what's `supported by Flyway <https://documentation.red-gate.com/fd/postgresql-184127604.html>`_, which we use for database migrations.
101101

102102
You are welcome to experiment with newer versions of PostgreSQL, but please note that as of PostgreSQL 15, permissions have been restricted on the ``public`` schema (`release notes <https://www.postgresql.org/docs/release/15.0/>`_, `EDB blog post <https://www.enterprisedb.com/blog/new-public-schema-permissions-postgresql-15>`_, `Crunchy Data blog post <https://www.crunchydata.com/blog/be-ready-public-schema-changes-in-postgres-15>`_). The Dataverse installer has been updated to restore the old permissions, but this may not be a long term solution.
103103

104104
Installing PostgreSQL
105105
=====================
106106

107-
*For example*, to install PostgreSQL 13 under RHEL7/derivative::
107+
*For example*, to install PostgreSQL 16 under RHEL9/derivative::
108108

109-
# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
109+
# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
110110
# yum makecache fast
111-
# yum install -y postgresql13-server
112-
# /usr/pgsql-13/bin/postgresql-13-setup initdb
113-
# /usr/bin/systemctl start postgresql-13
114-
# /usr/bin/systemctl enable postgresql-13
111+
# yum install -y postgresql16-server
112+
# /usr/pgsql-16/bin/postgresql-16-setup initdb
113+
# /usr/bin/systemctl start postgresql-16
114+
# /usr/bin/systemctl enable postgresql-16
115115

116116
For RHEL8/derivative the process would be identical, except for the first two commands: you would need to install the "EL-8" yum repository configuration and run ``yum makecache`` instead.
117117

@@ -149,7 +149,7 @@ Configuring Database Access for the Dataverse Installation (and the Dataverse So
149149

150150
- **Important: PostgreSQL must be restarted** for the configuration changes to take effect! On RHEL7/derivative and similar (provided you installed Postgres as instructed above)::
151151

152-
# systemctl restart postgresql-13
152+
# systemctl restart postgresql-16
153153

154154
On MacOS X a "Reload Configuration" icon is usually supplied in the PostgreSQL application folder. Or you could look up the process id of the PostgreSQL postmaster process, and send it the SIGHUP signal::
155155

scripts/installer/README_python.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ in your PATH. If you have multiple versions of PostgresQL installed,
3939
make sure the version that you will be using with Dataverse is the
4040
first on your PATH. For example,
4141

42-
PATH=/usr/pgsql-13/bin:$PATH; export PATH
42+
PATH=/usr/pgsql-16/bin:$PATH; export PATH
4343

4444
Certain libraries and source include files, both for PostgresQL and
4545
Python, are also needed to compile the module. On
4646
RedHat/CentOS/etc. you may need to install the -devel packages, *for
4747
the specific versions* of PostgreSQL and Python you will be using. For
4848
example:
4949

50-
yum install postgresql13-devel
50+
yum install postgresql16-devel
5151
yum install python37-devel
5252
etc.
5353

0 commit comments

Comments
 (0)