Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 5. Migration
5.1. Migrating to MariaDB 10.5 Copier lienLien copié sur presse-papiers!
my.cnf files need to be changed to prevent these specific resources from conflicting. Additionally, it is possible to install the rh-mariadb105 Software Collection while the rh-mariadb103 Collection is still installed and even running.
scl enable command for correct functioning of the binaries and scripts provided by the rh-mariadb105* packages. Note that the *-syspaths packages conflict with the corresponding packages from the base Red Hat Enterprise Linux system and from the rh-mariadb103 and rh-mysql80 Software Collections. To find out more about syspaths, see the Red Hat Software Collections Packaging Guide.
Note
scl register command.
5.1.1. Notable Differences Between the rh-mariadb103 and rh-mariadb105 Software Collections Copier lienLien copié sur presse-papiers!
- MariaDB now uses the
unix_socketauthentication plug-in by default. The plug-in enables users to use operating system credentials when connecting to MariaDB through the local Unix socket file. - MariaDB adds
mariadb-*named binaries andmysql*symbolic links pointing to themariadb-*binaires. For example, themysqladmin,mysqlaccess, andmysqlshowsymlinks point to themariadb-admin,mariadb-access, andmariadb-showbinaries, respectively. - The
SUPERprivilege has been split into several privileges to better align with each user role. As a result, certain statements have changed required privileges. - In parallel replication, the
slave_parallel_modenow defaults tooptimistic. - In the InnoDB storage engine, defaults of the following variables have been changed:
innodb_adaptive_hash_indextoOFFandinnodb_checksum_algorithmtofull_crc32. - MariaDB now uses the
libeditimplementation of the underlying software managing the MariaDB command history (the.mysql_historyfile) instead of the previously usedreadlinelibrary. This change impacts users working directly with the.mysql_historyfile. Note that.mysql_historyis a file managed by the MariaDB or MySQL applications, and users should not work with the file directly. The human-readable appearance is coincidental.Note
To increase security, you can consider not maintaining a history file. To disable the command history recording:- Remove the
.mysql_historyfile if it exists. - Use either of the following approaches:
- Set the
MYSQL_HISTFILEvariable to/dev/nulland include this setting in any of your shell’s startup files. - Change the
.mysql_historyfile to a symbolic link to/dev/null:ln -s /dev/null $HOME/.mysql_history
ln -s /dev/null $HOME/.mysql_historyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Galera adds a new streaming replication feature, which supports replicating transactions of unlimited size. During an execution of streaming replication, a cluster replicates a transaction in small fragments.
- Galera now fully supports Global Transaction ID (GTID).
- The default value for the
wsrep_onoption in the/etc/my.cnf.d/galera.cnffile has changed from1to0to prevent end users from startingwsrepreplication without configuring required additional options.
- MariaDB 10.5 adds a new version of the Pluggable Authentication Modules (PAM) plug-in. The PAM plug-in version 2.0 performs PAM authentication using a separate
setuid roothelper binary, which enables MariaDB to utilize additional PAM modules. - The helper binary can be executed only by users in the
mysqlgroup. By default, the group contains only themysqluser. Red Hat recommends that administrators do not add more users to themysqlgroup to prevent password-guessing attacks without throttling or logging through this helper utility. - In MariaDB 10.5, the Pluggable Authentication Modules (PAM) plug-in and its related files have been moved to a new subpackage, mariadb-pam. As a result, no new
setuid rootbinary is introduced on systems that do not use PAM authentication for MariaDB. - The rh-mariadb105-mariadb-pam package contains both PAM plug-in versions: version 2.0 is the default, and version 1.0 is available as the
auth_pam_v1shared object library. - The rh-mariadb105-mariadb-pam package is not installed by default with the MariaDB server. To make the PAM authentication plug-in available in MariaDB 10.5, install the rh-mariadb105-mariadb-pam package manually.
5.1.2. Upgrading from the rh-mariadb103 to the rh-mariadb105 Software Collection Copier lienLien copié sur presse-papiers!
Important
- Stop the rh-mariadb103 database server if it is still running.Before stopping the server, set the
innodb_fast_shutdownoption to0, so thatInnoDBperforms a slow shutdown, including a full purge and insert buffer merge. Read more about this option in the upstream documentation. This operation can take a longer time than in case of a normal shutdown.mysql -uroot -p -e "SET GLOBAL innodb_fast_shutdown = 0"
mysql -uroot -p -e "SET GLOBAL innodb_fast_shutdown = 0"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Stop the rh-mariadb103 server:systemctl stop rh-mariadb103-mariadb.service
systemctl stop rh-mariadb103-mariadb.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Install the rh-mariadb105 Software Collection, including the subpackage providing the mysql_upgrade utility:
yum install rh-mariadb105-mariadb-server rh-mariadb105-mariadb-server-utils
yum install rh-mariadb105-mariadb-server rh-mariadb105-mariadb-server-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Note that it is possible to install the rh-mariadb105 Software Collection while the rh-mariadb103 Software Collection is still installed because these Collections do not conflict. - Inspect configuration of rh-mariadb105, which is stored in the
/etc/opt/rh/rh-mariadb105/my.cnffile and the/etc/opt/rh/rh-mariadb105/my.cnf.d/directory. Compare it with configuration of rh-mariadb103 stored in/etc/opt/rh/rh-mariadb103/my.cnfand/etc/opt/rh/rh-mariadb103/my.cnf.d/and adjust it if necessary. - All data of the rh-mariadb103 Software Collection is stored in the
/var/opt/rh/rh-mariadb103/lib/mysql/directory unless configured differently. Copy the whole content of this directory to/var/opt/rh/rh-mariadb105/lib/mysql/. You can move the content but remember to back up your data before you continue to upgrade. Make sure the data is owned by themysqluser and SELinux context is correct. - Start the rh-mariadb105 database server:
systemctl start rh-mariadb105-mariadb.service
systemctl start rh-mariadb105-mariadb.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Perform the data migration. Note that running the
mysql_upgradecommand is required due to upstream changes introduced in MDEV-14637.scl enable rh-mariadb105 mysql_upgrade
scl enable rh-mariadb105 mysql_upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow If therootuser has a non-empty password defined (it should have a password defined), it is necessary to call the mysql_upgrade utility with the-poption and specify the password:scl enable rh-mariadb105 -- mysql_upgrade -p
scl enable rh-mariadb105 -- mysql_upgrade -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow Note that when the rh-mariadb105*-syspaths packages are installed, thescl enablecommand is not required. However, the *-syspaths packages conflict with the corresponding packages from the base Red Hat Enterprise Linux system and from the rh-mariadb103 and rh-mysql80 Software Collections.
5.2. Migrating to MySQL 8.0 Copier lienLien copié sur presse-papiers!
my.cnf files need to be changed to prevent these specific resources from conflicting.
5.2.1. Notable Differences Between MySQL 5.7 and MySQL 8.0 Copier lienLien copié sur presse-papiers!
Differences Specific to the rh-mysql80 Software Collection
- The MySQL 8.0 server provided by the rh-mysql80 Software Collection is configured to use
mysql_native_passwordas the default authentication plug-in because client tools and libraries in Red Hat Enterprise Linux 7 are incompatible with thecaching_sha2_passwordmethod, which is used by default in the upstream MySQL 8.0 version.To change the default authentication plug-in tocaching_sha2_password, edit the/etc/opt/rh/rh-mysql80/my.cnf.d/mysql-default-authentication-plugin.cnffile as follows:[mysqld] default_authentication_plugin=caching_sha2_password
[mysqld] default_authentication_plugin=caching_sha2_passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow For more information about thecaching_sha2_passwordauthentication plug-in, see the upstream documentation. - The rh-mysql80 Software Collection includes the rh-mysql80-syspaths package, which installs the rh-mysql80-mysql-config-syspaths, rh-mysql80-mysql-server-syspaths, and rh-mysql80-mysql-syspaths packages. These subpackages provide system-wide wrappers for binaries, scripts, manual pages, and other. After installing the rh-mysql80*-syspaths packages, users are not required to use the
scl enablecommand for correct functioning of the binaries and scripts provided by the rh-mysql80* packages. Note that the *-syspaths packages conflict with the corresponding packages from the base Red Hat Enterprise Linux system and from the rh-mariadb103 and rh-mariadb105 Software Collections. To find out more about syspaths, see the Red Hat Software Collections Packaging Guide.
General Changes in MySQL 8.0
- Binary logging is enabled by default during the server startup. The
log_binsystem variable is now set toONby default even if the--log-binoption has not been specified. To disable binary logging, specify the--skip-log-binor--disable-log-binoption at startup. - For a
CREATE FUNCTIONstatement to be accepted, at least one of theDETERMINISTIC,NO SQL, orREADS SQL DATAkeywords must be specified explicitly, otherwise an error occurs. - Certain features related to account management have been removed. Namely, using the
GRANTstatement to modify account properties other than privilege assignments, such as authentication, SSL, and resource-limit, is no longer possible. To establish the mentioned properties at account-creation time, use theCREATE USERstatement. To modify these properties, use theALTER USERstatement. - Certain SSL-related options have been removed on the client-side. Use the
--ssl-mode=REQUIREDoption instead of--ssl=1or--enable-ssl. Use the--ssl-mode=DISABLEDoption instead of--ssl=0,--skip-ssl, or--disable-ssl. Use the--ssl-mode=VERIFY_IDENTITYoption instead of--ssl-verify-server-certoptions. Note that these options remain unchanged on the server side. - The default character set has been changed from
latin1toutf8mb4. - The
utf8character set is currently an alias forutf8mb3but in the future, it will become a reference toutf8mb4. To prevent ambiguity, specifyutf8mb4explicitly for character set references instead ofutf8. - Setting user variables in statements other than
SEThas been deprecated. - The
log_syslogvariable, which previously configured error logging to the system logs, has been removed. - Certain incompatible changes to spatial data support have been introduced.
- The deprecated
ASCorDESCqualifiers forGROUP BYclauses have been removed. To produce a given sort order, provide anORDER BYclause.
5.2.2. Upgrading to the rh-mysql80 Software Collection Copier lienLien copié sur presse-papiers!
Important
- Install the rh-mysql80 Software Collection.
yum install rh-mysql80-mysql-server
yum install rh-mysql80-mysql-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Inspect the configuration of rh-mysql80, which is stored in the
/etc/opt/rh/rh-mysql80/my.cnffile and the/etc/opt/rh/rh-mysql80/my.cnf.d/directory. Compare it with the configuration of rh-mysql57 stored in/etc/opt/rh/rh-mysql57/my.cnfand/etc/opt/rh/rh-mysql57/my.cnf.d/and adjust it if necessary. - Stop the rh-mysql57 database server, if it is still running.
systemctl stop rh-mysql57-mysqld.service
systemctl stop rh-mysql57-mysqld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - All data of the rh-mysql57 Software Collection is stored in the
/var/opt/rh/rh-mysql57/lib/mysql/directory. Copy the whole content of this directory to/var/opt/rh/rh-mysql80/lib/mysql/. You can also move the content but remember to back up your data before you continue to upgrade. - Start the rh-mysql80 database server.
systemctl start rh-mysql80-mysqld.service
systemctl start rh-mysql80-mysqld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Perform the data migration.
scl enable rh-mysql80 mysql_upgrade
scl enable rh-mysql80 mysql_upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow If therootuser has a non-empty password defined (it should have a password defined), it is necessary to call the mysql_upgrade utility with the-poption and specify the password.scl enable rh-mysql80 -- mysql_upgrade -p
scl enable rh-mysql80 -- mysql_upgrade -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow Note that when the rh-mysql80*-syspaths packages are installed, thescl enablecommand is not required. However, the *-syspaths packages conflict with the corresponding packages from the base Red Hat Enterprise Linux system and from the rh-mariadb103 and rh-mariadb105 Software Collections.
5.3. Migrating to PostgreSQL 13 Copier lienLien copié sur presse-papiers!
scl enable command for correct functioning of the binaries and scripts provided by the rh-postgresql13* packages. Note that the *-syspaths packages conflict with the corresponding packages from the base Red Hat Enterprise Linux system. To find out more about syspaths, see the Red Hat Software Collections Packaging Guide.
Important
| Content | postgresql | rh-postgresql12 | rh-postgresql13 |
|---|---|---|---|
| Executables | /usr/bin/ | /opt/rh/rh-postgresql12/root/usr/bin/ | /opt/rh/rh-postgresql13/root/usr/bin/ |
| Libraries | /usr/lib64/ | /opt/rh/rh-postgresql12/root/usr/lib64/ | /opt/rh/rh-postgresql13/root/usr/lib64/ |
| Documentation | /usr/share/doc/postgresql/html/ | /opt/rh/rh-postgresql12/root/usr/share/doc/postgresql/html/ | /opt/rh/rh-postgresql13/root/usr/share/doc/postgresql/html/ |
| PDF documentation | /usr/share/doc/postgresql-docs/ | /opt/rh/rh-postgresql12/root/usr/share/doc/postgresql-docs/ | /opt/rh/rh-postgresql13/root/usr/share/doc/postgresql-docs/ |
| Contrib documentation | /usr/share/doc/postgresql-contrib/ | /opt/rh/rh-postgresql12/root/usr/share/doc/postgresql-contrib/ | /opt/rh/rh-postgresql13/root/usr/share/doc/postgresql-contrib/ |
| Source | not installed | not installed | not installed |
| Data | /var/lib/pgsql/data/ | /var/opt/rh/rh-postgresql12/lib/pgsql/data/ | /var/opt/rh/rh-postgresql13/lib/pgsql/data/ |
| Backup area | /var/lib/pgsql/backups/ | /var/opt/rh/rh-postgresql12/lib/pgsql/backups/ | /var/opt/rh/rh-postgresql13/lib/pgsql/backups/ |
| Templates | /usr/share/pgsql/ | /opt/rh/rh-postgresql12/root/usr/share/pgsql/ | /opt/rh/rh-postgresql13/root/usr/share/pgsql/ |
| Procedural Languages | /usr/lib64/pgsql/ | /opt/rh/rh-postgresql12/root/usr/lib64/pgsql/ | /opt/rh/rh-postgresql13/root/usr/lib64/pgsql/ |
| Development Headers | /usr/include/pgsql/ | /opt/rh/rh-postgresql12/root/usr/include/pgsql/ | /opt/rh/rh-postgresql13/root/usr/include/pgsql/ |
| Other shared data | /usr/share/pgsql/ | /opt/rh/rh-postgresql12/root/usr/share/pgsql/ | /opt/rh/rh-postgresql13/root/usr/share/pgsql/ |
| Regression tests | /usr/lib64/pgsql/test/regress/ (in the -test package) | /opt/rh/rh-postgresql12/root/usr/lib64/pgsql/test/regress/ (in the -test package) | /opt/rh/rh-postgresql13/root/usr/lib64/pgsql/test/regress/ (in the -test package) |
5.3.1. Migrating from a Red Hat Enterprise Linux System Version of PostgreSQL to the PostgreSQL 13 Software Collection Copier lienLien copié sur presse-papiers!
pg_upgrade tool (recommended), or dump the database data into a text file with SQL commands and import it in the new database. Note that the second method is usually significantly slower and may require manual fixes; see the PostgreSQL documentation for more information about this upgrade method.
Important
/var/lib/pgsql/data/ directory.
Procedure 5.1. Fast Upgrade Using the pg_upgrade Tool
- Stop the old PostgreSQL server to ensure that the data is not in an inconsistent state. To do so, type the following at a shell prompt as
root:systemctl stop postgresql.service
systemctl stop postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow To verify that the server is not running, type:systemctl status postgresql.service
systemctl status postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Verify that the old directory
/var/lib/pgsql/data/exists:file /var/lib/pgsql/data/
file /var/lib/pgsql/data/Copy to Clipboard Copied! Toggle word wrap Toggle overflow and back up your data. - Verify that the new data directory
/var/opt/rh/rh-postgresql13/lib/pgsql/data/does not exist:file /var/opt/rh/rh-postgresql13/lib/pgsql/data/
file /var/opt/rh/rh-postgresql13/lib/pgsql/data/Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you are running a fresh installation of PostgreSQL 13, this directory should not be present in your system. If it is, back it up by running the following command asroot:mv /var/opt/rh/rh-postgresql13/lib/pgsql/data{,-scl-backup}mv /var/opt/rh/rh-postgresql13/lib/pgsql/data{,-scl-backup}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Upgrade the database data for the new server by running the following command as
root:scl enable rh-postgresql13 -- postgresql-setup --upgrade
scl enable rh-postgresql13 -- postgresql-setup --upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow Alternatively, you can use the/opt/rh/rh-postgresql13/root/usr/bin/postgresql-setup --upgradecommand.Note that you can use the--upgrade-fromoption for upgrading from different versions of PostgreSQL. The list of possible upgrade scenarios is available using the--upgrade-idsoption.It is recommended that you read the resulting/var/lib/pgsql/upgrade_rh-postgresql13-postgresql.loglog file to find out if any problems occurred during the upgrade. - Start the new server as
root:systemctl start rh-postgresql13-postgresql.service
systemctl start rh-postgresql13-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow It is also advised that you run theanalyze_new_cluster.shscript as follows:su - postgres -c 'scl enable rh-postgresql13 ~/analyze_new_cluster.sh'
su - postgres -c 'scl enable rh-postgresql13 ~/analyze_new_cluster.sh'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Optionally, you can configure the PostgreSQL 13 server to start automatically at boot time. To disable the old system PostgreSQL server, type the following command as
root:chkconfig postgresql off
chkconfig postgresql offCopy to Clipboard Copied! Toggle word wrap Toggle overflow To enable the PostgreSQL 13 server, type asroot:chkconfig rh-postgresql13-postgresql on
chkconfig rh-postgresql13-postgresql onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - If your configuration differs from the default one, make sure to update configuration files, especially the
/var/opt/rh/rh-postgresql13/lib/pgsql/data/pg_hba.confconfiguration file. Otherwise only thepostgresuser will be allowed to access the database.
Procedure 5.2. Performing a Dump and Restore Upgrade
- Ensure that the old PostgreSQL server is running by typing the following at a shell prompt as
root:systemctl start postgresql.service
systemctl start postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Dump all data in the PostgreSQL database into a script file. As
root, type:su - postgres -c 'pg_dumpall > ~/pgdump_file.sql'
su - postgres -c 'pg_dumpall > ~/pgdump_file.sql'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Stop the old server by running the following command as
root:systemctl stop postgresql.service
systemctl stop postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Initialize the data directory for the new server as
root:scl enable rh-postgresql13 -- postgresql-setup initdb
scl enable rh-postgresql13 -- postgresql-setup initdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Start the new server as
root:systemctl start rh-postgresql13-postgresql.service
systemctl start rh-postgresql13-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Import data from the previously created SQL file:
su - postgres -c 'scl enable rh-postgresql13 "psql -f ~/pgdump_file.sql postgres"'
su - postgres -c 'scl enable rh-postgresql13 "psql -f ~/pgdump_file.sql postgres"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Optionally, you can configure the PostgreSQL 13 server to start automatically at boot time. To disable the old system PostgreSQL server, type the following command as
root:chkconfig postgresql off
chkconfig postgresql offCopy to Clipboard Copied! Toggle word wrap Toggle overflow To enable the PostgreSQL 13 server, type asroot:chkconfig rh-postgresql13-postgresql on
chkconfig rh-postgresql13-postgresql onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - If your configuration differs from the default one, make sure to update configuration files, especially the
/var/opt/rh/rh-postgresql13/lib/pgsql/data/pg_hba.confconfiguration file. Otherwise only thepostgresuser will be allowed to access the database.
5.3.2. Migrating from the PostgreSQL 12 Software Collection to the PostgreSQL 13 Software Collection Copier lienLien copié sur presse-papiers!
pg_upgrade tool (recommended), or dump the database data into a text file with SQL commands and import it in the new database. Note that the second method is usually significantly slower and may require manual fixes; see the PostgreSQL documentation for more information about this upgrade method.
Important
/var/opt/rh/rh-postgresql12/lib/pgsql/data/ directory.
Procedure 5.3. Fast Upgrade Using the pg_upgrade Tool
- Stop the old PostgreSQL server to ensure that the data is not in an inconsistent state. To do so, type the following at a shell prompt as
root:systemctl stop rh-postgresql12-postgresql.service
systemctl stop rh-postgresql12-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow To verify that the server is not running, type:systemctl status rh-postgresql12-postgresql.service
systemctl status rh-postgresql12-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Verify that the old directory
/var/opt/rh/rh-postgresql12/lib/pgsql/data/exists:file /var/opt/rh/rh-postgresql12/lib/pgsql/data/
file /var/opt/rh/rh-postgresql12/lib/pgsql/data/Copy to Clipboard Copied! Toggle word wrap Toggle overflow and back up your data. - Verify that the new data directory
/var/opt/rh/rh-postgresql13/lib/pgsql/data/does not exist:file /var/opt/rh/rh-postgresql13/lib/pgsql/data/
file /var/opt/rh/rh-postgresql13/lib/pgsql/data/Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you are running a fresh installation of PostgreSQL 13, this directory should not be present in your system. If it is, back it up by running the following command asroot:mv /var/opt/rh/rh-postgresql13/lib/pgsql/data{,-scl-backup}mv /var/opt/rh/rh-postgresql13/lib/pgsql/data{,-scl-backup}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Upgrade the database data for the new server by running the following command as
root:scl enable rh-postgresql13 -- postgresql-setup --upgrade --upgrade-from=rh-postgresql12-postgresql
scl enable rh-postgresql13 -- postgresql-setup --upgrade --upgrade-from=rh-postgresql12-postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Alternatively, you can use the/opt/rh/rh-postgresql13/root/usr/bin/postgresql-setup --upgrade --upgrade-from=rh-postgresql12-postgresqlcommand.Note that you can use the--upgrade-fromoption for upgrading from different versions of PostgreSQL. The list of possible upgrade scenarios is available using the--upgrade-idsoption.It is recommended that you read the resulting/var/lib/pgsql/upgrade_rh-postgresql13-postgresql.loglog file to find out if any problems occurred during the upgrade. - Start the new server as
root:systemctl start rh-postgresql13-postgresql.service
systemctl start rh-postgresql13-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow It is also advised that you run theanalyze_new_cluster.shscript as follows:su - postgres -c 'scl enable rh-postgresql13 ~/analyze_new_cluster.sh'
su - postgres -c 'scl enable rh-postgresql13 ~/analyze_new_cluster.sh'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Optionally, you can configure the PostgreSQL 13 server to start automatically at boot time. To disable the old PostgreSQL 12 server, type the following command as
root:chkconfig rh-postgresql12-postgreqsql off
chkconfig rh-postgresql12-postgreqsql offCopy to Clipboard Copied! Toggle word wrap Toggle overflow To enable the PostgreSQL 13 server, type asroot:chkconfig rh-postgresql13-postgresql on
chkconfig rh-postgresql13-postgresql onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - If your configuration differs from the default one, make sure to update configuration files, especially the
/var/opt/rh/rh-postgresql13/lib/pgsql/data/pg_hba.confconfiguration file. Otherwise only thepostgresuser will be allowed to access the database.
Procedure 5.4. Performing a Dump and Restore Upgrade
- Ensure that the old PostgreSQL server is running by typing the following at a shell prompt as
root:systemctl start rh-postgresql12-postgresql.service
systemctl start rh-postgresql12-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Dump all data in the PostgreSQL database into a script file. As
root, type:su - postgres -c 'scl enable rh-postgresql12 "pg_dumpall > ~/pgdump_file.sql"'
su - postgres -c 'scl enable rh-postgresql12 "pg_dumpall > ~/pgdump_file.sql"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Stop the old server by running the following command as
root:systemctl stop rh-postgresql12-postgresql.service
systemctl stop rh-postgresql12-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Initialize the data directory for the new server as
root:scl enable rh-postgresql13 -- postgresql-setup initdb
scl enable rh-postgresql13 -- postgresql-setup initdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Start the new server as
root:systemctl start rh-postgresql13-postgresql.service
systemctl start rh-postgresql13-postgresql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Import data from the previously created SQL file:
su - postgres -c 'scl enable rh-postgresql13 "psql -f ~/pgdump_file.sql postgres"'
su - postgres -c 'scl enable rh-postgresql13 "psql -f ~/pgdump_file.sql postgres"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Optionally, you can configure the PostgreSQL 13 server to start automatically at boot time. To disable the old PostgreSQL 12 server, type the following command as
root:chkconfig rh-postgresql12-postgresql off
chkconfig rh-postgresql12-postgresql offCopy to Clipboard Copied! Toggle word wrap Toggle overflow To enable the PostgreSQL 13 server, type asroot:chkconfig rh-postgresql13-postgresql on
chkconfig rh-postgresql13-postgresql onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - If your configuration differs from the default one, make sure to update configuration files, especially the
/var/opt/rh/rh-postgresql13/lib/pgsql/data/pg_hba.confconfiguration file. Otherwise only thepostgresuser will be allowed to access the database.
5.4. Migrating to nginx 1.20 Copier lienLien copié sur presse-papiers!
/opt/rh/rh-nginx120/root/. The error log is stored in /var/opt/rh/rh-nginx120/log/nginx by default.
/etc/opt/rh/rh-nginx120/nginx/ directory. Configuration files in nginx 1.20 have the same syntax and largely the same format as previous nginx Software Collections.
.conf extension) in the /etc/opt/rh/rh-nginx120/nginx/default.d/ directory are included in the default server block configuration for port 80.
Important
/opt/rh/nginx118/root/ tree and configuration files located in the /etc/opt/rh/nginx118/nginx/ tree.
/opt/rh/nginx118/root/ tree, replicate those changes in the new /opt/rh/rh-nginx120/root/ and /etc/opt/rh/rh-nginx120/nginx/ directories, too.
5.5. Migrating to Redis 6 Copier lienLien copié sur presse-papiers!
Compatibility Notes
- When a set key does not exist, the
SPOP <count>command no longer returns null. In Redis 6, the command returns an empty set in this scenario, similar to a situation when it is called with a0argument. - For minor non-backward compatible changes, see the upstream release notes.