четверг, 16 сентября 2010 г.

Postgresql в Windows. Установка и импорт старой базы.

Установка нового сервера.
Через "Управление" в Моем компьютере создаем пользователя postgres. Копируем PostgerSQL на диск C. Для этого надо определится с версией и скачать архив с названием  postgresql-x.x.x-binaries-no-installer.zip ее скачать отсюда.
Ок. Теперь надо инициализировать кластер. Для этого надо открыть консоль от пользователя postgres. Нажимаем Пуск->Выполнить и вводим
runas /user:postgres cmd
Появится окошко с запросом пароля пользователя postgres. Теперь собственно инициализация кластера. 
c:\pgsql\bin\initdb.exe -E win1251 -D c:\pg_data
Файлы базы данных будут хранится в папке c:\pg_data, включая и файлы настройки доступа. После успешной инициализации кластера предагается его запустить парой способов. Но в windows есть службы, которыми гораздо удобнее пользоваться чем скриптами запуска в автозагрузке.
Создаем службу. Для этого нужно запустить консоль от имени администратора. 
c:\pgsql\bin\pg_ctl.exe register -N "PostgreSQL" -U postgres -D с:\pg_data
Теперь Панель управления->Администрирование->Службы. В списке появилась новая служба PostgreSQL. В ее свойствах, во вкладке "Вход в систему" нужно ввести правильный пароль пользователя postgres и нажать Применить. Все, теперь службу можно запустить. 
Если предполагается подключение из локальной сети, то нужно изменить некоторые настройки. Во-первых надо открыть файл c:\pg_data\pg_hda.conf. В нем найти строку 
host    all         all         127.0.0.1/32          trust
и под ней добавить новую
host    all         all         192.168.1.1/24      trust
в которой написано, что подключаться могут компьютеры локальной сети с адресами 192.168.1.х. Далее, в файле c:\pg_data\postgresql.conf нужно отредактировать параметры listen_addresses и port. Должно получится так 
listen_addresses = '*'       
port = 5432              
Все, после перезагрузки сервера к нему можно будет подключится из локальной сети.
Теперь самое интересное. Импорт старой базы. Если импорт производился правильно, т.е. так:
c:\pgsql\bin\pg_dump -Fc mydb > db.dump
то экспорт особого труда не составит. Нужно создать базу данных с названием mydb. Это можно сделать из pgadmin'а. Все, теперь можно импортировать. 
c:\pgsql\bin\pg_restore -C -d mydb db.dump
  Вот и все.

Комментариев нет:

Отправить комментарий