Страницы

25 марта 2013 г.

Установка postgresql 9.1.1-1 на windows7 x64


Столкнулся с проблемой в установке PostgreSQL, потратил день в пустую на инсталляцию обычной базы данных. Решил сделать заметку с подробным описанием собственно сабж ниже...


Итак нам понадобится: 
  • Windows 7x64
  • postgresql-9.1.1-1-windows-x64
1. ВАЖНО: В названии Вашей учетной записи не должно быть кирилических(русских) букв. postgres относится к ним с презрением и не создаст конфиг файл который потребует для старта сервиса
2.Включите службу “Вторичный вход системы”, если работает переходим к 3 пункту..
  • правой кнопкой мыши на “мой компьютер” => “Управление”;
  • В левой части окна “Службы и приложения” => “Службы;”
  • В правой части окна ищем “Вторичный вход системы”;
  • Двойной клик на службе => Запустить => Тип запуска: Автоматически;
  • ОК;

3. После этого просто ставим наш postgresql, на многих ресурсах пишут что разрядность postgresql должна соответствовать разрядности вашей операционной системы.
В моем случае Windows 7 x64 = postgresql-9.1.1-1-windows-x64.



Жмем далее / next
В этом диалоговом окне нам предлагается указать каталог, в который будет устанавливаться PostgreSQL.
Я обычно весь софт для разработки ставлю в отдельный каталог например C:\java\postgreSQL\9.1 проще искать когда все в одном месте и в пути нет пробелом что исключит кавычки при написании батников. Жмем дальше / next и получаем:


В этом диалоговом окне вам предлагается указать каталог, в котором будут хранится файлы с базами данных. Это довольно удобно и разработчики логично предположили, что многие могут захотеть хранить данные на других дисках, например SSD, для увеличения производительности БД. Раньше, конечно, это тоже можно было настроить через файл конфигурации, но теперь это можно сделать уже на этапе установки. Лично меня вполне устроил путь, предложенный по умолчанию инсталлятором, поэтому я нажал Next и получил следующее окно:

Тут инсталятор просит нас следующее: "Пожалуйста, предоставьте пароль для суперпользователя баз данных (postgres) и учётной записи службы (postgres). Если учётная запись службы уже существует в Windows, вы должны ввести текущий пароль этой учётной записи. Если данная учётная запись не существует, она будет создана, когда вы нажмёте Next"
Есть в Windows учётные записи пользователей. Наверняка вы сейчас работаете под одной из них, ибо учётная запись всегда имеет имя пользователя. Так вот, PostgreSQL в Windows работает не от администратора, а тоже от имени учётной записи пользователя, имя которого postgres. Сделано это было прежде всего из соображений безопасности, чтобы никакие вредители не смогли получить права администратора, даже если они каким-то образом найдут дыру в безопасности самого PostgreSQL. Далее. В самой СУБД PostgreSQL есть такой специальный пользователь - суперпользователь, который имеет максимальные права внутри СУБД, т.е. может создавать или удалять любые базы данных и любых пользователей. Он тоже имеет имя postgres. Несмотря на то, что имена пользователей учётной записи и суперпользователя PostgreSQL одинаковы - это разные пользователи, никак не связанные друг с другом. Но для того, чтобы вы потом не путались с разными паролями, вам предлагают задать один и тот же пароль для них обоих.
Многие спрашивают: а что делать, если мы ставим PostgreSQL повторно, а старый пароль забыли? Интересно, а голову они дома не забывают, когда уходят на работу или погулять? Иначе как раздолбайством такое не назовёшь. Однако, читайте внимательно специальный FAQ, там есть ответ на вопрос, что можно сделать в таком случае.
Итак, пароль ввели, поехали дальше Next:


В этом окне вам предлагается указать другой порт TCP/IP для PostgreSQL. Не вижу причин менять тот, который предлагается по умолчанию. Щёлкаем Next:

В этом окне вам предлагается выбрать локаль, с использованием которой будет инициализирован кластер баз данных и которая в дальнейшем будет использоваться по умолчанию при создании других баз данных. Это довольно важный шаг, ибо локаль определяет такой важный параметр как кодировка данных в базах, для особо любознательных Уважаемый skipy расписал все подробнее некуда в статье “Вавилонское столпотворение”. На картинке вы видите, что я выбрал "Russia, Russia". В этом случае, кодировка вашей БД будет windows-1251. Возможно, это именно то, что вам нужно, но большинство людей всё-таки предпочитает работать с кодировкой UTF-8. Эта кодировка будет установлена в том случае, если в данном окне вы выберите локаль по умолчанию: "by default". Перед тем как выбрать локаль хорошенько подумайте. Если вы устанавливаете PostgreSQL для обеспечения работы какого-либо приложения, прочтите документацию к нему, возможно это приложение требует какую-то конкретную кодировку. Например Tolven использует English, United States что соответствует тому же UTF-8. После того, как вы выбрали локаль, щёлкаете Next:


Инсталлятор вам радостно говорит. что он типа готов наконец начать установку. Щёлкаем Next. Начинается процесс копирования файлов в указанный ранее каталог. После чего в этом же окошке вы увидите:


где советую обратить внимание на слова: "Initialising database cluster" (инициализирую кластер баз данных), означающие, что копирование файлов закончено и создаётся первая база данных, которая будет затем использоваться как шаблон для всех остальных баз. Через некоторое время эта надпись сменяется на "starting database server" (запускаю сервер баз данных), что означает запуск службы сервера PostgreSQL. После чего появляется окно окончания установки:


Здесь нам предлагается ещё запустить инструмент установки дополнительных компонентов PostgreSQL, но мне это не интересно, поэтому снимаю галочку и щёлкаю на Finish

Это всё! Установка завершена! Особо параноидальные товарищи, могут запустить Диспетчер Задач, щёлкнуть по вкладке Службы и убедиться, что PostgreSQL работает:


Вопросы по pgAdminIII

Многие задают вопрос. Вот я запустил pgAdminIII, ярлык на который появляется в меню Пуск сразу после установки, а там мне рисует картинку, где сервер PostgreSQL перечёркнут красным крестиком, вот так:

"памажите, добрые люди, а чо делать та?"
Ну хотя бы соединение с сервером установить для начала, для чего тупо дважды щёлкнуть по этому самому значку сервера, перечёркнутому красным крестиком. Появится окошко, в котором вас попросит ввести пароль для пользователя postgres, тот самый пароль который вы вводили раннее, при установке. Если вы введёте его правильно, красный крестик исчезнет и окно pgAdminIII примет вид:


Подключение к серверу PostgreSQL с помощью утилиты командной строки psql



Обратите внимание, что утилите ЯВНО нужно указать с каким пользователем производить подключение к серверу и опять же ввести тот самый пароль, о котором так много писалось выше.
Ещё обратите внимание на предупреждающее сообщение о несовпадении текущей кодировки в консоли и кодировки сервера. Дело в том, что согласно нашей установке мы выбрали ранее локаль Russia, Russia, что привело к выбору кодировки windows-1251, но консоль (командная строка) Windows работает в кодировке cp866 и это надо понимать и учитывать при дальнейшей работе

В заключение



На предмет возможных грабель при установке (и откуда их только берут и как умудряются наступить) не забудьте прочитать раздел "Проблемы при установке" в специальном FAQ.

По материалам: postgresql.ru.net


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

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