Это возможно, вам просто нужно скопировать папку «data» (внутри папки установки Postgres) со старого компьютера на новый, но есть несколько вещей, о которых следует помнить.
Прежде чем копировать файлы, вы должны остановить службу сервера Postgres.Итак, Панель управления-> Администрирование-> Сервисы, найдите сервис Postgres и остановите его.Когда вы закончите копирование файлов и настройку разрешений, запустите его снова.
Во-вторых, вам нужно установить разрешения для файлов данных.Поскольку сервер postgres фактически работает под другой учетной записью пользователя, он не сможет получить доступ к файлам, если вы просто скопируете их в папку данных, поскольку у него не будет разрешений для этого.Поэтому вам нужно изменить владельца файлов на пользователя "postgres".Мне пришлось использовать subinacl для этого, сначала установить его, а затем использовать его из командной строки, как показано ниже (сначала перейдите в папку, где вы его установили):
subinacl /subdirectories "C:\Program Files\PostgreSQL\8.2\data\*" /setowner=postgres
(смена владельцатакже должно быть возможно сделать это из проводника: сначала вы должны отключить «Использовать простой общий доступ к файлам» в параметрах папки, затем в диалоговом окне «Свойства папки» появится вкладка «Безопасность», и есть варианты для установки разрешений и смены владельца,но я не смог сделать это таким образом.)
Теперь, если служба сервера не может запуститься после того, как вы снова запустите ее вручную, обычно вы можете увидеть причину в средстве просмотра событий (Администрирование-> Просмотрщик событий).Postgres выдаст сообщение об ошибке, и проверка его даст вам понять, в чем проблема (иногда он будет жаловаться на файл postmaster.pid, просто удалить его и т. Д.).