Ad Widget

Collapse

Docker Postgres Upgrade

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SANDMAN
    Junior Member
    • Jun 2023
    • 14

    #1

    Docker Postgres Upgrade

    I have a Zabbix 6.4.3 stack. It uses Postgres 15.3 database.

    Trying to upgrade to zabbix 7.0 and Postgres 16.3 database.

    Using other Postgres guides as Zabbix documentation doesn't seem to discuss Postgres upgrade procedures.


    I export db via:
    docker exec -it zabbix-docker-postgres-server-1 pg_dumpall -U username > upgrade_backup_15.sql

    Changed the db path in docker compose 1 folder deeper.
    /home/docker/zabbix-docker/zbx_env/var/lib/postgresql/data/16.3

    start zabbix 7 stack with empty db. Creates zabbix db + user/pass.
    Shutdown stack.

    Start only Postgres service.

    cat upgrade_backup_15.sql | docker exec -i zabbix-docker-postgres-server-1 psql -d zabbix -U username

    spams invalid command /n and finally stops with "out of memory"
    What is different from guide I'm following is the previous command would not execute with specifying the database: -d zabbix

    Obviously not doing this correctly. Any help on how to properly upgrade Zabbix database Postgres 15.3 to 16.3

    Thank you.
    Last edited by SANDMAN; 15-07-2024, 17:34.
  • SANDMAN
    Junior Member
    • Jun 2023
    • 14

    #2
    I don't understand it but the solution was to NOT start the entire 7.0 stack (which creates new zabbix DB) and then shutting down all containers except postgres-server 16.x, and then importing.
    Entire 7.0 Zabbix stack should NOT run until after DB imported into Postgres 16.x

    My Steps:
    stop all zabbix containers except postgres-server 15.x
    export db with pg_dumpall (docker exec -it zabbix-docker-postgres-server-1 pg_dumpall -U username > upgrade_backup_15.sql)
    Stop postgres-server 15.x
    Edit docker-compose host's postgres-server data directory to a new empty directory + set new version 16.x tag
    Start only postgres-server 16.x container (using same zbx_env) (Creates fresh db)
    Import db (cat upgrade_backup_15.sql | docker exec -i zabbix-docker-postgres-server-1 psql -d zabbix -U username) - No errors upon import
    Start entire 7.0 stack - On first run I saw additional DB upgrade progress + successful

    My stack images:
    postgres:16.3-alpine
    zabbix/zabbix-server-pgsql:alpine-7.0-latest
    zabbix/zabbix-web-nginx-pgsql:7.0-alpine-latest
    zabbix/zabbix-agent:alpine-7.0-latest
    zabbix/zabbix-java-gateway:alpine-7.0-latest
    Last edited by SANDMAN; 24-07-2024, 19:01.

    Comment

    Working...