#!/bin/bash # PostgreSQL 17 на Ubuntu — установка службы, пользователь и БД shop # Запуск: sudo bash scripts/setup-postgres-ubuntu.sh set -euo pipefail DB_USER="${DB_USER:-shop}" DB_PASS="${DB_PASS:-shop}" DB_NAME="${DB_NAME:-shop}" if ! command -v psql >/dev/null; then echo "PostgreSQL не установлен." echo " apt install -y postgresql-17 postgresql-client-17" echo " systemctl enable --now postgresql" exit 1 fi echo "Запуск PostgreSQL..." systemctl enable postgresql 2>/dev/null || true systemctl start postgresql for i in $(seq 1 30); do if pg_isready -h 127.0.0.1 -p 5432 -q 2>/dev/null; then break fi sleep 1 if [ "$i" -eq 30 ]; then echo "Ошибка: PostgreSQL не слушает 127.0.0.1:5432" echo " journalctl -u postgresql -n 30 --no-pager" exit 1 fi done echo "Создание пользователя и базы..." sudo -u postgres psql -v ON_ERROR_STOP=1 <