|
- #!/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
|