Я не уверен, должен ли этот вопрос быть опубликован в разделе Database Administrators или здесь, поэтому, пожалуйста, сообщите, если я ошибаюсь.Django's "dumpdata" или Postgres 'pg_dump'?
У меня есть сайт на основе Django, который не сильно меняется. Я использую python manage.py dumpdata --all --indent=2 > backup.json
и перезагружаю данные loaddata
, если мне нужно перераспределить или поврежден db. (Я знаю об ошибке целостности, которые произошли, когда не исключая auth
и content_types
)
Поскольку я использую PostgreSQL на внутреннем интерфейсе, это «лучшая практика» или «умнее» для меня, чтобы использовать pg_dump
вместо этого, и то pg_restore
если что-то пойдет не так или мне нужно перераспределить?
Таким образом, dumpdata
сбрасывает все данные, связанные с выбранными приложениями (и/или моделями), и pg_dump
выполняет полный сброс db. Это то же самое или есть фундаментальное отличие, которое я пропустил (помните, у меня есть 0 опыт работы с DBA)?
Какой вариант мне нужно и почему?
Учтена. Я уже написал скрипт для резервного копирования, используя pg_dump, выполняемый ежечасно. Поскольку моя БД действительно крошечная (~ 30 МБ), я не заметил большой разницы в производительности. Спасибо за ваш ответ. –
Добро пожаловать, если вы регулярно отправляете демпинг, вам может потребоваться использовать архивирование WAL. https://www.postgresql.org/docs/9.2/static/continuous-archiving.html – e4c5
Спасибо за ссылку. Я не знал, что PostgreSQL имеет систему непрерывного резервного копирования. На данный момент я использую 'pg_dump', а затем я фиксирую и переношу изменения в частное репо GitHub, обеспечивая инкрементные изменения. У меня также есть возможность восстановить данные в определенный момент времени, с худшим сценарием потери работы часа. Должен ли я продолжать использовать WAL? Стоит ли приложить усилия (по времени) для внедрения WAL? Это выглядит немного сложнее по сравнению с 'pg_dump' и' git'. Любые советы приветствуются. –