Хотя PostgreSQL обеспечивает абстрактное представление пользовательской информации, все данные в базах PostgreSQL хранятся в обычных системных файлах. В процессе работы СУБД эти файлы находятся в постоянном движении, поскольку не все изменения в PostgreSQL немедленно записываются на диск. Файлы хранятся в каталоге PostgreSQL (например, /usr/local/pgsql/data или в любом другом каталоге, определяемом переменной среды PGDATA).
Вместо того чтобы генерировать набор команд SQL для повторного создания эазы данных, можно поступить иначе: остановить сервер PostgreSQL (с целью синхронизации всех изменений с файлами на жестком диске) и создать архив соответствующего каталога файловой системы. Обычно это делается утилитой tar; полученный архив можно дополнительно обработать утилитой сжатия (например,
В листинге 9.25 приведен пример архивации каталога данных PostgreSQL Операция выполняется пользователем, которому принадлежат файлы данных (это пользователь, запустивший серверный процесс PostgreSQL). В приведенном примере каталог /usr/local/pgsql/data архивируется пользователем postgres.