Для резервного копирования данных в Postrgresql предоставляется утилиты pg_dump и pg_dumpall. Они создают текстовый файл с SQL командами.
Создание дампа в общем виде выполняетеся так:
1 | pg_dump -U USERNAME DATABASE -f dumpfile.sql |
Восстановление данных из дампа в базу:
1 | psql -U USERNAME -d DATABASE -f dumpfile.sql |
Вместо ключа -f также можно использовать привычное перенаправление потока < для дампа и > для восстановления.
Чтобы сделать резервную копию всех баз используется следующая команда:
1 | pg_dumpall > all.sql |
Восстановить данные всех баз:
1 | psql -f all.sql |
Можно сделать дамп определенных таблиц:
1 | pg_dump --table TABLENAME -U USERNAME DATABASE -f onlytable.sql |
Восстановление таблицы обратно:
1 | psql -f onlytable.sql DATABASE |
Дамп со сжатием:
1 | pg_dump DATABASE | gzip > dumpfile.sql.gz |
Восстановление дампа со сжатием:
1 | gunzip -c dumpfile.sql.gz | psql DATABASE |
Поделиться: