#!/bin/bash
set -euo pipefail

# Подтягиваем PGDATA из /etc/sysconfig/postgresql16.conf (если есть)
[ -f /etc/sysconfig/postgresql16.conf ] && . /etc/sysconfig/postgresql16.conf
PGDATA="${PGDATA:-/var/lib/pgsql/postgresql16/data}"
BIN="/usr/pgsql/16/bin"

# В юните User=postgres → скрипт уже выполняется от postgres.
# Родительский /var/lib/pgsql должен существовать и принадлежать postgres (пакет так установил).
# Создаём каталог данных, если отсутствует.
if [ ! -d "$PGDATA" ]; then
  mkdir -p "$PGDATA"
  chmod 700 "$PGDATA"
fi

# Если кластера нет — инициализируем.
if [ ! -f "$PGDATA/PG_VERSION" ]; then
  "$BIN/initdb" -D "$PGDATA" --encoding=UTF8 --locale=ru_RU.UTF-8
fi

# /run/postgresql создаётся через tmpfiles.d пакета — здесь ничего не делаем.
exit 0