#!/bin/bash

# Параметры 
PGUSER=postgres
PGDATA=/var/lib/postgresql/10.22/main  
PSQL_BIN=/usr/local/pgsql/bin/psql  
DBNAME=fss
DBUSER=fss
DBPASS=fss


command -v $PSQL_BIN >/dev/null 2>&1 || PSQL_BIN=psql
if ! command -v $PSQL_BIN >/dev/null 2>&1; then
  echo "psql не найден! Проверь путь и переменную PSQL_BIN"
  exit 1
fi

# Функция для выполнения psql от имени пользователя postgres
run_psql() {
  sudo -u $PGUSER $PSQL_BIN -v ON_ERROR_STOP=1 --username $PGUSER --dbname postgres -c "$1"
}

# Удаляем базу, если есть
echo "Удаляю базу данных $DBNAME если существует..."
run_psql "DROP DATABASE IF EXISTS $DBNAME;"

# Удаляем пользователя, если есть
echo "Удаляю пользователя $DBUSER если существует..."
run_psql "DROP USER IF EXISTS $DBUSER;"

# Создаём пользователя
echo "Создаю пользователя $DBUSER..."
run_psql "CREATE USER $DBUSER WITH PASSWORD '$DBPASS';"

# Создаём базу
echo "Создаю базу данных $DBNAME..."
run_psql "CREATE DATABASE $DBNAME OWNER $DBUSER;"

echo "Назначаю все привилегии $DBUSER на базу $DBNAME..."
run_psql "GRANT ALL PRIVILEGES ON DATABASE $DBNAME TO $DBUSER;"

echo "Готово."