PostgreSQL 17 upgrade guide
THIS DOCUMENT IS FOR: Acunetix On-Premises
This guide provides instructions for upgrading Acunetix On-Premises to use PostgreSQL 17, across Windows, Linux, and Docker environments.
Available scenarios:
- Scenario 1: Windows
- Scenarios for Linux / Docker
- Scenario 2: Docker installation with separate volume for data
- Scenario 3: Docker installation without separate volume for data
- Scenario 4: Linux (Non-Docker)
Scenario 1: Windows
Upgrade approach
- Automatic or manual upgrade supported
- No special user interaction required
- The Acunetix installer will handle the PostgreSQL upgrade automatically during the update process.
Follow these steps to manually upgrade to PostgreSQL 17 on a Windows machine:
- Download the latest Acunetix installation package.
- Run the installer and follow the prompts.
- PostgreSQL will be upgraded automatically in the background.
- Upon completion, verify Acunetix is running and accessible.
Scenarios for Linux / Docker
IMPORTANT NOTES:
|
Scenario 2: Docker installation with separate volume for data
Assuming you have a volume named acunetix_data (for Acunetix data) and a container named acunetix, follow the steps below.
- Prerequisite
Download the latest Acunetix installer (acunetix.sh) and save it to /home/Downloads/acunetix.sh.
- Stop the container:
docker stop acunetix |
- Backup your data (Recommended):
Before proceeding with the upgrade, it is highly recommended to back up your data. This step is optional, but it is a good practice to ensure that you can restore your data in case something goes wrong during the upgrade process.
docker run --rm \ |
- To restore this backup later, use the following command:
docker run --rm \ |
- Launch a temporary container as root to perform the upgrade:
Next, you need to mount the volume to a temporary container so the upgrade can be performed. We will start the temporary container as root user so that we can upgrade the installation. Also, notice how we mount the downloaded installation package to the temporary container.
docker run --rm \ |
At this point, you will be inside the temporary container, running the bash shell as root. Since the installation needs sudo and we don't have it in the container at this point, we will install it first.
- Inside the container, install sudo and run the upgrade script:
apt-get update && apt-get install -y sudo |
Answer the prompts as needed. Once the upgrade is complete, exit the temporary container.
- Exit after the container:
exit |
- Restart the Acunetix container:
docker start acunetix |
Scenario 3: Docker installation without separate volume for data
If you are not using a separate volume, follow these steps to convert your data directory into a persistent volume before upgrading.
- Stop the container
docker stop acunetix |
- Backup/Extract data
Copy the data directory from the container to your local machine:
docker cp -a acunetix:/home/acunetix/.acunetix - > ~/acunetix_data.tar |
- Create a persistent volume
At this point, the best practice is to create a volume for the data, so an accidental removal of the container does not result in data loss. You can create a volume named acunetix_data with the following command:
docker volume create acunetix_data |
- Restore data into volume
After creating the volume, copy the data from your local machine to the volume:
docker run --rm \ |
- Remove the old container
Since the data is now in the volume, you can proceed with deleting the original container:
docker rm acunetix |
- Recreate and start the updated Acunetix container
Now you can proceed with the upgrade as described in Scenario 2 [steps 2.5 - 2.7], keeping in mind that you will need to start the container with this command:
docker run -d --name acunetix \ |
Scenario 4: Linux (Non-Docker)
- Prerequisite
Download the latest Acunetix installer (acunetix.sh) and save it to /home/Downloads/acunetix.sh - Make the installer executable:
chmod +x acunetix.sh |
- Run the installer with elevated privileges:
sudo ./acunetix.sh |
- Follow the on-screen prompts to complete the upgrade, including PostgreSQL migration.
- Restart Acunetix services if not restarted automatically:
sudo systemctl restart acunetix |
Post-upgrade verification
After upgrading, ensure:
- Acunetix services are running.
- The UI is accessible on the expected ports.
- Optionally, run a test scan to confirm functionality.
- Check the PostgreSQL version:
psql --version |