Steps to reproduce:
- Create a docker-compose.yml using the following images:
-
- postgres:17
-
- zabbix/zabbix-server-pgsql:ubuntu-7.2.4
-
- zabbix/zabbix-web-nginx-pgsql:ubuntu-7.2.4
- My docker file:
services: zabbix-db: container_name: "zabbix-db-teste" image: postgres:17 restart: unless-stopped volumes: - ./zabbix-db:/var/lib/postgresql/data ports: - "5432:5432" networks: - zabbix-network environment: POSTGRES_USER: "zabbix" POSTGRES_PASSWORD: "zabbix123" POSTGRES_DB: "zabbix_db" healthcheck: test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] interval: 10s timeout: 5s retries: 5 start_period: 30s zabbix-server: container_name: "zabbix-server-teste" image: zabbix/zabbix-server-pgsql:ubuntu-7.2.4 restart: unless-stopped depends_on: zabbix-db: condition: service_healthy ports: - "10051:10051" networks: - zabbix-network environment: DB_SERVER_HOST: "zabbix-db" POSTGRES_USER: "zabbix" POSTGRES_PASSWORD: "zabbix123" POSTGRES_DB: "zabbix_db" zabbix-web: container_name: "zabbix-web-teste" image: zabbix/zabbix-web-nginx-pgsql:ubuntu-7.2.4 restart: unless-stopped depends_on: zabbix-server: condition: service_started ports: - "8080:8080" - "8443:8443" networks: - zabbix-network environment: ZBX_SERVER_HOST: "zabbix-server-teste" DB_SERVER_HOST: "zabbix-db" POSTGRES_USER: "zabbix" POSTGRES_PASSWORD: "zabbix123" POSTGRES_DB: "zabbix_db" PHP_TZ: "America/Sao_Paulo" networks: zabbix-network: driver: bridge
- Run the environment using docker-compose up -d
- Check the logs of the PostgreSQL container.
Result:
The PostgreSQL container outputs the following error repeatedly:
ERROR: column d.daticulocale does not exist at character 289 HINT: Perhaps you meant to reference the column "d.datlocale". STATEMENT: SELECT d.datname as "Name", pg_catalog.pg_get_userbyid(d.datdba) as "Owner", pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding", CASE d.datlocprovider WHEN 'c' THEN 'libc' WHEN 'i' THEN 'icu' END AS "Locale Provider", d.datcollate as "Collate", d.datctype as "Ctype", d.daticulocale as "ICU Locale", d.daticurules as "ICU Rules", pg_catalog.array_to_string(d.datacl, E'\n') AS "Access privileges" FROM pg_catalog.pg_database d ORDER BY 1;
Also, the zabbix-server container does not start due to database unavailability:
**** PostgreSQL server is not available. Waiting 5 seconds...
Expected result:
Zabbix Server starts successfully with PostgreSQL 17 as backend.