As I mentioned in the Veeam Backup & Replication 12.2 upgrade notes article, a Veeam Backup upgrade does NOT upgrade the embedded database (if you are using the embedded database deployment).
If you want to upgrade also the embedded database server part, you need to do it manually!
Starting with Backup & Replication v12, the default embedded database is PostgreSQL.
Veeam Backup & Replication v12 supports the following versions of PostgreSQL:
- PostgreSQL 14.x
- PostgreSQL 15.x
Included with Veeam Backup & Replication installed there are different version of PostgreSQL:
Veeam Backup & Replication v12.2 | PostgreSQL for Windows 15.8.1 |
Veeam Backup & Replication v12.1 (build 12.1.2.172) | PostgreSQL for Windows 15.6.1 |
Veeam Backup & Replication v12.1 (build 12.1.1.56) | PostgreSQL for Windows 15.5 |
Veeam Backup & Replication v12 (1420) | PostgreSQL for Windows 15.1.1 |
But how upgrade the PostgreSQL part?
The best way (or at leat a clean way) is to make a configuration backup, remove the existing installation and install a clean 12.2. Then, just import your configuration backup and that’s all. But this way for sure is also the longer way.
If you have an old version of Windows Server, you can consider to migrate the Veeam Backup Server on a fresh new system, and again backup and restore the configuration. This is the cleanest way to manage you upgrade and in case of failure, you can rollback to the previous system!
Another option could be just upgrade to Veeam Backup & Replication 12.2 and then upgrade the local PostgreSQL instance.
To upgrade PostgreSQL you can use the version included in the installation ISO, or download a new version 15.x from the PostgreSQL web site.
Actually the latest 15.x version is the 15.8.1 version, so the same version included in the 12.2 installer!
On the Backup & Replication v12.2 ISO, you can found the PostgreSQL installer in the \Redistr\x64\PostgreSQL folder:
Make sure all Veeam jobs are stopped and disabled.
Then Stop all Veeam services on the Windows OS of the Veeam Backup. For example using this PowerShell command:
Get-Service Veeam* | Stop-Service -Force
Run the PostgreSQL 15.8.1 installer.
If you got this error message: “Unable to write inside TEMP environment variable path”
just check your TEMP variable and (in case) verify that the user profile is working properly.
If the problem persist, then it’s probably related to Windows Script Host that can be disabled. One reason could be because you have apply this Veeam hardening recommendation:
From cmd run wscript.exe
If you get an error Windows Script Host is not enabled then you can solved it by running the following from cmd
Fix for Current User
REG DELETE "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /f
Fix for Local Machine (in case it’s disabled at this level)
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /f
Keep the same installation folder:
Install only the database server (or also the CLI just in case):
Keep the same directory data.
Then reboot your Veeam Server and remember to re-enable Veeam jobs.
Remember also to check the Notes for Veeam Backup with embedded DB deployment.