Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.
Для каждой базы данных необходимо делать резервное копирование на регулярной основе.
Т.к.
Postgres сам управляет своими файлами в файловой системе, то не благоразумно полагаться на системное резервное копирование файловой системы для
резервного копирования баз данных; она не гарантирует, что
файлы останутся рабочими после восстановления.
Postgres обеспечивает две утилиты для резервного копирования системы: pg_dump для резервного копирования индивидуальных баз данных и pg_dumpall для резервного копирования установки за один шаг.
Для отдельной базы данных можно сделать резервную копию с помощью
следующей команды:
% pg_dump dbname > dbname.pgdump
и восстановить с помощью
cat dbname.pgdump | psql dbname
Эта техника может быть использована для перемещения базы данных в новое
место, и для переименования существующих баз данных.
Т.к. Postgres позволяет таблицы больше чем максимальный размер файла в системе,
может быть проблематично сбросить таблицу в файл, вероятно, что результирующий файл
окажется больше, чем максимальный размер файла, разрешенной в системе.
Так как pg_dump пишет в stdout, ты можешь использовать стандартные утилиты *nix для работы
над этой возможной проблемой:
Конечно, имя файла
(filename) и содержимое вывода pg_dump не нужно сравнивать с именем базы данных.
Также, восстановленная база данных может иметь
произвольное новое имя, так что этот механизм также
подходит для переименования базы данных.