31 подписчик
Для коллег оставляю шпаргалку по экспорту БД PostgreSQL для получения дампа и и восстановления его на другом сервере. Все это будем выполнять под Windows. При этом собирать дамп нам придется с удаленного сервера.

Дамп формируется с помощью команды pg_dump. Мы направим её вывод в файл через gzip.

pg_dump -h localhost -O -F t -c -U postgres myDBname | gzip -c > myDB-filedump.gz

Здесь:

myDBname — это название базы данных, а myDB-filedump.gz — название файла, куда будет сохранен дамп.

Расшифровка ключей:

-h [host] : явное указание хоста, значение по умолчанию localhost или значение из переменной окружения PGHOST.

-О : пропускает команды для установки владельца таблиц, видов и т.д.

-F {c|t|p} — формат вывода данных custom, tar, plane text.

-U [username] — пользователь, чьими правами доступа нужно воспользоваться при запросе данных. По умолчанию берется текущий пользователь. При необходимости программа запросит пароль.

-C, —create — добавляет команду для создания БД, я покажу как создать её вручную.

-c — добавляет команды для удаления (drop) объектов (таблиц, видов и т.д.).

Есть и более общая команда, которая выгружает сразу все базы:
pg_dumpall | gzip -c > allDB-filedump.gz

Справку по ключам можно посмотреть так:
pg_dump --help
pg_dumpall --help
2 года назад
330 подписчиков
Каждый сисадмин рано или поздно сталкивается с проблемой создания бекапов. А также ломает голову над их автоматизацией. Сегодня разберем резервное копирование в Postgresql. А именно напишем и разберем скрипт по созданию бекапа. --- В качестве примера у нас есть база данных Postgresql, которая называется TestDB. СУБД установлена в C:\postgresql. Логин и пароль к тестовой БД у нас admin Порт доступа по умолчанию: 5432 Также выделяем папку для хранения резервной копии: D:\backup --- Создаем в папке с СУБД (C:\postgresql) текстовый документ ...
1 год назад