Имеется несколько вариантов создания резервных копий баз данных PostgreSQL. Однако для баз данных PostgreSQL, использующихся для хранения баз геоданных, Esri рекомендует использование pg_dump для создания файла архива; удаление базы данных с последующим новым созданием ее с тем же именем и восстановление данных во вновь созданную базу данных с помощью pg_restore.
При восстановлении из файла архива вы можете задать порядок восстановления схемы. Для баз геоданных PostgreSQL необходимо восстанавливать схемы в определенном порядке.
Для создания резервной копии базы геоданных в PostgreSQL запустите команду pg_dump под суперпользователем из MS-DOS или из командной строки. При этом создается файл архива, который можно использовать для повторного создания базы данных.
pg_dump –U <superuser_name> –F c <database_name> > <dump_file_name>
Пример:
pg_dump –U postgres –F c mypgdb > mypgdb1031.dump
В предыдущем примере файл копии (дампа) сохраняется в директорию, из которой команда была запущена. Для указания другого местоположения укажите опцию –f с нужными вам местоположением директории и именем файла.
Рекомендуется ознакомиться с документацией по резервному копированию и восстановлению в PostgreSQL, но необходимо помнить следующее при использовании команды pg_dump:
- Команда pg_dump создает за один раз резервную копию только одной базы данных, и она не включает информацию о ролях и табличных пространствах.
- Во время pg_dump будут заблокированы только операции, требующие эксклюзивной блокировки. В итоге изменения, вносимые в базу во время работы pg_dump, не будут добавлены в выходной файл архива.
- Если у вас установлена система PostGIS и вы используете для хранения тип geometry или geography, процедура создания резервных копий и восстановления баз данных может отличаться в зависимости от версии PostGIS. Обязательно изучите документацию PostGIS по созданию резервных копий и восстановлению баз данных.
Протестируйте ваши процедуры, чтобы убедиться, что резервная копия и восстановление будут работать.