Автоматизируем раскатывание бекапа в postgres

Октябрь15

logo-postgresql

Тема автоматизации создания и развертывания баз данных очень давно гуляет в интернете. Написано много гайдов и мануалов, но единого стандартизированного решения, которое бы устраивало всех, до сих пор нет. Поэтому ради интереса написал себе скрипт на Bash, который можно использовать как альтернативное решение для развертывания, например, на новом компьютере базы данных из дампа.

#!/bin/sh
psql_path=/usr/bin/pg9_5  # путь доpostgresql
db_name=feanor184.ru_db  # имя базы данных
psql_user=test_user  # имя пользователя, который имеет права на базу
psql_dump_path=/tmp  # путь до дампа
psql_dump_name=test_psql_dump.bin  # имя дампа

# проверяем, существует ли уже такая база, если да - то выдаем ошибку.
if $psql_path/psql -lqt | cut -d \| -f 1 | grep $db_name; then                  
     echo "База уже существует"
else
# если базы не существует, создаем эту базу и владельца для нее, даем ему полные права на базу.
sudo -u postgres $psql_path/createuser $psql_user

$psql_path/psql -U  postgres $psql_user <<STOP_IT
    create database $db_name
    owner $psql_user
    encoding='utf8';
STOP_IT
# загружаем дамп в базу
$psql_path/psql -U $psql_user -f $psql_dump_path/$psql_dump_name $db_name

fi

Поделиться в соц. сетях


Copyright © 2013-2016. All rights reserved.

Опубликованно Октябрь 15, 2016 by Feanor184 в категории Bash

1 комментарий(ев) к записи “Автоматизируем раскатывание бекапа в postgres

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

Перед тем, как оставить комментарий, убедитесь, что вы ознакомились с правилами комментирования этого блога.