экспорт/импорт бэкапа Postgres

This commit is contained in:
Alexander Zhirov 2023-02-07 08:57:02 +03:00
parent 990c5fa818
commit b7cbb1a9c3
1 changed files with 43 additions and 1 deletions

View File

@ -100,14 +100,56 @@ sudo systemctl restart postgresql.service
sudo service postgresql restart
```
## Создание бэкапа
Создание бэкапа `tar` архива:
1. Выгрузка только схемы БД
```sh
pg_dump -h 192.168.1.2 -U user -W -d dbname -sn schemename -F t -f db.tar
```
или
```sh
pg_dump --host=192.168.1.2 --username=user --password --dbname=dbname --schema-only --schema=schemename --format=tar --file=db.tar
```
2. Выгрузка только данных указанной схемы БД
```sh
pg_dump -h 192.168.1.2 -U user -W -d dbname -an schemename -F t -f db.data.tar
```
или
```sh
pg_dump --host=192.168.1.2 --username=user --password --dbname=dbname --data-only --schema=schemename --format=tar --file=db.data.tar
```
## Восстановление бэкапа
Восстановление бэкапа из файла `*.sql`:
1. Восстановление бэкапа из файла `*.sql`.
```sh
psql -f backup.sql
```
2. Восстановление из `tar` архива.
Экспортировать переменную `PGPASSWORD` с указанным паролем для подключения к БД:
```sh
export PGPASSWORD=password
```
Выполнить импорт данных из архива:
```sh
pg_restore -h 192.168.1.2 -U user -d dbname -v "/path/to/tar/archive"
```
## Возможные ошибки
При подключении к удалённой БД может возникнуть ошибка: