Просмотр исходного кода

chore: add runtime reindexing script

master
Blaz Smehov 2 недель назад
Родитель
Сommit
0a25502fcf
1 измененных файлов: 26 добавлений и 0 удалений
  1. +26
    -0
      scripts/db/ensure_indexes.sh

+ 26
- 0
scripts/db/ensure_indexes.sh Просмотреть файл

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

Загрузка…
Отмена
Сохранить