Skip to content

Latest commit

 

History

History
70 lines (51 loc) · 3.38 KB

backup.md

File metadata and controls

70 lines (51 loc) · 3.38 KB

🐘 PostgreSQL

Работа с backup

Создание backup

Для создания backup, вам нужно что бы на сервера с которого вы выполняете команду был установлен pg_dump

если вы хотите выполнить команду к удаленному серверу с БД то сначала установите на этот сервер PostgreSQL по инструкции 🐘 PostgreSQL > Установка PostgreSQL на Ubuntu

можете проверить работает ли у вас подключение к базе по инструкции 🐘 PostgreSQL > Подключение к БД

простой пример команды создания дампа

pg_dump -Fc databasename -h 11.22.33.44 -U username > db.dump

еще можно так, но не понятно как восстановить

pg_dump databasename -h 11.22.33.44 -U username > db.sql

подробнее https://www.postgresql.org/docs/current/app-pgdump.html

теперь можно скачать дамп по инстуркции 🚚 SCP > Скачивание

Разворачивание backup

Если у вас уже есть backup с другого сервера и вы уже его скачали, теперь надо отправить его на нужный сервер по инстуркции 🚚 SCP > Загрузка

создаем бд с любыми именем, но обязательно создать пользователя с таким же именем как по которой был создан дамп то есть предварительно вам скорее всего нужно создать пользователя по инструкции 🐘 PostgreSQL > Создание пользователя

CREATE DATABASE databasename OWNER username;

подключитесь к базе по инструкции 🐘 PostgreSQL > Подключение к БД под пользователем postgres и выдайте юзеру на нее права следующей командой

GRANT ALL ON SCHEMA public TO username;

еще у вас может быть проблема с кодировкой, проверьте что ответ на запрос такой, иначе воспользутейсь инструкцией ## 🐘 PostgreSQL > Возможные ошибки > Настройка кодировки

xx=# show server_encoding;
 server_encoding
-----------------
 UTF8
(1 row)

в теории этого должно хватить, но у меня все равно не работает как вариант можете дать суперюзера

ALTER USER username with SUPERUSER;

если у вас возникли какие то проблемы то можете удалить и потом создать заново

DROP DATABASE databasename;

простой пример команды восстонавления дампа

pg_restore -Fc -d "postgresql://username:[email protected]:5432/databasename" db.dump

подробнее https://www.postgresql.org/docs/current/app-pgrestore.html