#!/bin/bash

DB="analyze_error"
SCHEMA="vac_test"
NUM_TABLES=500000
NUM_COLS=350
BATCH_SIZE=500

build_columns() {
    local cols="id INT"
    for ((c = 1; c <= NUM_COLS; c++)); do
        cols+=", col${c} TEXT"
    done
    echo "$cols"
}

COLUMNS="$(build_columns)"

(
echo "\\pset pager off"

echo "CREATE SCHEMA IF NOT EXISTS $SCHEMA;"

for ((i = 1; i <= NUM_TABLES; i++)); do
    echo "CREATE TABLE $SCHEMA.tbl_$i ($COLUMNS);"

    if (( i % BATCH_SIZE == 0 )); then
        echo "\\echo ===== Created $i tables ====="
    fi
done

) | psql -d "$DB"
