Как быстро сделать дамп базы данных
Дамп базы PostgreSQL
Если сервер базы достпен по сети
pg_dump -C -h host -U remote_username remote_db_name | psql -h localhost -U local_username local_db_name
Если нет прямого доступа к базе
- Создаем дамп на сервере
- Копируем его локально через scp
- Загружаем дамп локально
Казалось бы, все очень просто. Но есть один очень важный ньюанс. На сервере и локально у вас скорее всего разные пользователи, поэтому нужно делать дамп и импорт специальными командами, иначе получим ошибку
ERROR: role "remote_username" does not exist
pg_dump -Fc --no-owner -h localhost -U remote_username remote_db_name -f db.dump
scp ssh_username@remote_host:db.dump db.dump
pg_restore --no-owner --role=local_username -d local_db_name db.dump
Комментарии