#!/usr/bin/env bash set -euo pipefail CONTAINER_NAME="sms-postgres" VOLUME_NAME="sms-postgres-data" IMAGE="postgres:16" PORT="5432" POSTGRES_USER="sms" POSTGRES_PASSWORD="sms" POSTGRES_DB="sms_task" if ! command -v docker >/dev/null 2>&1; then echo "docker не найден. Установите Docker и повторите." >&2 exit 1 fi echo "Останавливаю и удаляю контейнер ${CONTAINER_NAME}..." docker rm -f "${CONTAINER_NAME}" >/dev/null 2>&1 || true echo "Удаляю том ${VOLUME_NAME}..." docker volume rm "${VOLUME_NAME}" >/dev/null 2>&1 || true echo "Запускаю PostgreSQL (${IMAGE})..." docker run -d \ --name "${CONTAINER_NAME}" \ -e POSTGRES_USER="${POSTGRES_USER}" \ -e POSTGRES_PASSWORD="${POSTGRES_PASSWORD}" \ -e POSTGRES_DB="${POSTGRES_DB}" \ -p "${PORT}:5432" \ -v "${VOLUME_NAME}:/var/lib/postgresql/data" \ "${IMAGE}" >/dev/null echo "Готово." echo " Host: localhost:${PORT}" echo " Database: ${POSTGRES_DB}" echo " User: ${POSTGRES_USER}" echo " Password: ${POSTGRES_PASSWORD}" echo "" echo "Connection string:" echo " Host=localhost;Port=${PORT};Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}"