| @@ -0,0 +1,26 @@ | |||||
| #!/usr/bin/env bash | |||||
| set -euo pipefail | |||||
| CONTAINER="db" | |||||
| DB_USER="postgres" | |||||
| DB_NAME="postgres" | |||||
| if ! docker inspect --format='{{.State.Running}}' "$CONTAINER" 2>/dev/null | grep -q true; then | |||||
| echo "ERROR: container '$CONTAINER' is not running" >&2 | |||||
| exit 1 | |||||
| fi | |||||
| echo "Ensuring indexes on '$DB_NAME' in container '$CONTAINER'..." | |||||
| docker exec -i "$CONTAINER" psql -U "$DB_USER" -d "$DB_NAME" <<'SQL' | |||||
| \set ON_ERROR_STOP on | |||||
| CREATE INDEX IF NOT EXISTS idx_gateways_mac ON gateways(mac); | |||||
| CREATE INDEX IF NOT EXISTS idx_tracker_zones_tracker ON tracker_zones(tracker); | |||||
| CREATE INDEX IF NOT EXISTS idx_tracks_gateway ON tracks(gateway); | |||||
| CREATE INDEX IF NOT EXISTS idx_tracks_tracker ON tracks(tracker); | |||||
| CREATE INDEX IF NOT EXISTS idx_tracks_uuid_ts ON tracks(uuid, timestamp); | |||||
| CREATE INDEX IF NOT EXISTS idx_tracks_tracker_ts ON tracks(tracker, timestamp); | |||||
| \echo 'Done.' | |||||
| SQL | |||||