#!/bin/bash ############################################# # PostgreSQL INDEX CREATE SCRIPT # 에러 발생해도 계속 진행 ############################################# # set -e 제거 (중단 안함) # ===== 환경변수 체크 ===== if [ -z "$DB_HOST" ] || [ -z "$DB_PORT" ] || [ -z "$DB_NAME" ] || [ -z "$DB_USER" ]; then echo "DB 환경변수가 설정되지 않았습니다." exit 1 fi echo "========================================" echo "START INDEX CREATE" echo "TIME: $(date)" echo "========================================" run_index() { echo "----------------------------------------" echo "Running: $1" psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "$1" echo "----------------------------------------" } run_index "CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_files_uid_ext_state ON tb_map_sheet_mng_files (hst_uid, file_ext, file_state);" run_index "CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_mng_files_hstuid_ext ON tb_map_sheet_mng_files (hst_uid, file_ext);" run_index "CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_inkx_no_use ON tb_map_inkx_5k (mapidcd_no, use_inference);" run_index "CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_inkx5k_mapidcd ON tb_map_inkx_5k (mapidcd_no);" run_index "CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_hst_exec_sheetnum_yyyy_desc ON tb_map_sheet_mng_hst (map_sheet_num, mng_yyyy DESC);" echo "========================================" echo "END INDEX CREATE" echo "TIME: $(date)" echo "========================================" echo "모든 인덱스 시도 완료"