|
|
|
@@ -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 |