April 7, 2010

Переносим pg_xlog на другой диск под Windows

На днях на форуме sql.ru - PostgreSQL был задан вопрос о переносе pg_xlog под Windows. Т.к. вопрос актуален для России - 1С, Windows сервера, и т.п., решил сделать этот пост.

Собственно особенность прцедуры переноса лишь в одном - символические ссылки.

В Linux это делается просто встроенной командой "ln -s ...", а под Windows для их создания будет нужна вот эта программа (Junction).

Итак, опишу сам процесс по шагам. Допустим директория pgdata на диске D, и необходимо вынести WAL (pg_xlog) на диск C.

Для этого надо:

1. Остановить postgres
2. Сделать бэкап D:\pgdata\pg_xlog
3. Скопировать D:\pgdata\pg_xlog в C:\pg_xlog и удалить D:\pgdata\pg_xlog
4. Распаковать программу junction в D:\pgdata
5. Открыть окно cmd, перейти там в D:\pgdata и выполнить junction -s pg_xlog C:\pg_xlog
6. Теперь кликаем правой кнопкой на папке C:\pg_xlog и устанавливаем права на неё пользователю postgres
7. Запускаем postgres

Вот и всё.

1 comment:

g0ryny4 said...

Маленький комментарий по поводу символических ссылок - их делает Far Manager по кнопочке Alt+F6. И не надо качать непонятно что ;)

Post a Comment