1.9 KiB
1.9 KiB
Quickstart (PostgreSQL Partitioning Test)
Start Environment
Note
: If
dockercommands fail with permission errors, runnewgrp dockeror ensure your user is in thedockergroup (sudo usermod -aG docker $USER) and log out/in.
cd postgresql/docker
sudo ./run_test_env.sh --pg 16 --zabbix 7.0
# Options: --pg <16|17|18> --zabbix <7.0|7.4>
Verify
# Check status
docker ps
# SQL Shell
docker exec -it zabbix-db-test psql -U zabbix -d zabbix
# Password: zabbix
Reset
docker compose down -v
Partitioning
See PARTITIONING.md for details on the implemented declarative partitioning.
🐳 Docker Deployment (Production)
The run_test_env.sh script automatically populates init_scripts for the test environment. To deploy this in your own Docker setup:
- Mount Scripts: Map the SQL procedures to
/docker-entrypoint-initdb.d/in your PostgreSQL container. - Order Matters: Scripts execute alphabetically. Ensure they run after the Zabbix schema import.
Example docker-compose.yml snippet:
services:
postgres-server:
image: postgres:16
volumes:
# Mount Zabbix Schema first (e.g., as 01_schema.sql)
- ./zabbix_schema.sql:/docker-entrypoint-initdb.d/01_schema.sql
# Mount Partitioning Procedures (Prefix to run AFTER schema)
- ../postgresql/procedures/00_partitions_init.sql:/docker-entrypoint-initdb.d/02_00_part_init.sql
- ../postgresql/procedures/01_auditlog_prep.sql:/docker-entrypoint-initdb.d/02_01_audit_prep.sql
- ../postgresql/procedures/02_maintenance.sql:/docker-entrypoint-initdb.d/02_02_maintenance.sql
- ../postgresql/procedures/03_enable_partitioning.sql:/docker-entrypoint-initdb.d/02_03_enable.sql
- ../postgresql/procedures/04_monitoring_view.sql:/docker-entrypoint-initdb.d/02_04_monitor.sql
The container will automatically execute these scripts on first startup, partitioning the tables.