Я пытаюсь перенести базу данных PostgreSQL 9.5 на диск E большего размера на Windows 2008 Server. После остановки службы я сначала попытался скопировать data
папку на новый диск, а затем изменили путь к исполняемому файлу службы PostgreSQL, используя
sc config postgresql-x64-9.5 binPath= "\"C:\Program Files\PostgreSQL\9.5\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-9.5\" -D \"E:\pg_db\data\" -w"
Я изменил разрешения на data
папку, чтобы включить «Сетевые службы», щелкнув папку правой кнопкой мыши и выбрав Properties
. Под Security
Щелчок по вкладке "Edit...
" а потом "Add...
". Тип "Network Service
"а затем нажмите"Check Names
" а потом OK
.
Но когда я нажимаю Пуск в службах, в окне просмотра событий Windows появляется следующее сообщение об ошибке:
FATAL: data directory "E:/pg_db/data" does not exist.
Я даже пробовал создать новый каталог данных от администратора cmd
подсказка с помощью инструкций Вот но в итоге получил ту же ошибку.
я вижу один из ответов в «Подобные вопросы», когда я пишу, это «Будет проще, если вы переустановите Postgre и выберете папку данных во время установки». Это не лучшее, что мы можем сделать.
Обнаружил проблему при сканировании через Запуск и установка PostgreSQL на собственной вики-странице Windows
Учетной записи службы PostgreSQL требуются разрешения на чтение для всех каталогов, ведущих к каталогу службы. Ему нужны права на запись только в каталог данных.
Я установил записывать разрешение на data
каталог для Network Service
но не читать разрешение на каталоги над ним.