Установка PostgreSQL 9.0.1 на Windows 7
маленька передмова
Проблема в тому, що треба хоча б мати якісь базові знання в адмініструванні PostgreSQL, щоб встановлювати сервер PostgreSQL. На форумі постійно задають питання не знаючи навіть елементарних речей і основ. Особливо лютують гравці покеру і власники програми Holdem Manager, які мало того, що нічого крім покеру не знають, так і знати не хочуть. Наприклад, я ж не приходжу на покерний форум не читаючи правил покеру і не вимагаю на пальцях пояснити мені як виграти мільйон. Мені ж теж не дуже цікаво підтримувати користувачів комерційних програм на безоплатній основі, тим більше, що ці користувачі ніколи нічого не зроблять корисного для спільноти PostgreSQL, виступаючи виключно як споживачі.
Отже! Страдниками Windows присвячується.
Версії PostgreSQL 9.x і вихідні дані
Починаючи з версії 9.0 для Windows надаються зібрані версії як 32-bit так і 64-bit. У даній статті розглядалася установка 64-бітової версії PostgreSQL 9.0.1 на 64-бітну версію Windows 7 Home Basic. Установка починали від користувача, що має адміністративні права. Не бачу причин і будь-яких перешкод, за якими установка 32-бітової версії чимось відрізнялася від 64-бітної, а також якихось принципових відмінностей між Windows 7 Home Basic і іншими редакціями Windows 7.
Беремо архів з установкою PostgreSQL. Я взяв версію 9.0.1 прямо з цієї сторінки. Зберігаємо в будь-який тимчасовий каталог, наприклад c: \ tmp. Запускаємо. Після стандартного попередження Windows про те, що ми намагаємося запустити додаток, розроблений третьою, на що ми відповідаємо ствердно, починається процес установки:
Як бачимо, спершу з'являється картинка, про те, що Windows конфигурирует бібліотеку Visual C ++. Не знаючи подробиць, ризикну припустити, що ця бібліотека поширюється з PostgreSQL для Windows, тому що PostgreSQL на платформі Windows компілювався на Visual C ++. Проте, з'являється наступна картинка, вже більш має відношення до установки:
Це початкове діалогове вікно, яке пропонує вам почати установку. Клацаємо по Next і отримуємо наступне вікно:
У цьому діалоговому вікні вам пропонується вказати каталог, в який буде встановлюватися PostgreSQL. Особисто мене цілком влаштував шлях, запропонований за умовчанням інсталятором, тому я натиснув Next і отримав наступне вікно:
У цьому діалоговому вікні вам пропонується вказати каталог, в якому зберігатимуться файли з базами даних. Це досить зручно і розробники логічно припустили, що багато хто може захотіти зберігати дані на інших дисках, скажімо більш швидких, для збільшення продуктивності БД. Раніше, звичайно, це теж можна було налаштувати через файл конфігурації, але тепер це можна зробити вже на етапі установки. Особисто мене цілком влаштував шлях, запропонований за умовчанням інсталятором, тому я натиснув Next і отримав наступне вікно:
Ну ось ми і дісталися до першого і численного джерела питань на форумі. Просто купа народу запитує який пароль вводити? Невже так важко прочитати що написано? Ну да, я розумію, що хтось в школі на уроках англійської тупо спав, а хтось вивчав німецьку, але ж є ж мовні інструменти Google. де в більшості випадків можна швидко отримати цілком осмислений переклад незрозумілою англійської фрази! Знову ламає? Гаразд, перекладаю спеціально для таких: "Будь ласка, надайте пароль для суперкористувача баз даних (postgres) і облікового запису служби (postgres). Якщо обліковий запис служби вже існує в Windows, ви повинні ввести поточний пароль цього облікового запису. Якщо даний обліковий запису не існує, вона буде створена, коли ви натиснете Next "
Все ще незрозуміло? Тоді для тих, хто не читав документацію, пояснюю на пальцях. Є в Windows облікові записи користувачів. Напевно ви зараз працюєте під одним з них, бо обліковий запис завжди має ім'я користувача. Так ось, PostgreSQL в Windows працює не від адміністратора, а також від імені облікового запису користувача, ім'я якого postgres. Зроблено це було перш за все з міркувань безпеки, щоб ніякі шкідники не змогли отримати права адміністратора, навіть якщо вони якимось чином знайдуть діру в безпеці самого PostgreSQL. Далі. У самій СУБД PostgreSQL є такий спеціальний користувач - привілейований користувач, який має максимальні права всередині СУБД, тобто може створювати або видаляти будь-які бази даних і будь-яких користувачів. Він теж має ім'я postgres. Незважаючи на те, що імена користувачів облікового запису і суперкористувача PostgreSQL однакові - це різні користувачі, ніяк не пов'язані один з одним. Але для того, щоб ви потім не плуталися з різними паролями, вам пропонують задати один і той же пароль для них обох.
Отже, пароль ввели, поїхали далі Next:
У цьому вікні вам пропонується вказати інший порт TCP / IP для PostgreSQL. Не бачу причин міняти той, який пропонується за замовчуванням. Клацаємо Next:
Інсталятор вам радісно каже. що він типу готовий нарешті почати установку. Клацаємо Next. Починається процес копіювання файлів в зазначений раніше каталог. Після чого в цьому ж віконці ви побачите:
Тут нам пропонується ще запустити інструмент установки додаткових компонентів PostgreSQL, але мені це не цікаво, тому знімаю галочку і клацаю на Finish
Це все! Установка завершена! Особливо параноїдальні товариші, можуть запустити Диспетчер Завдань, клацнути по вкладці Служби і переконатися, що PostgreSQL працює:
Питання по pgAdminIII
Багато хто задає питання. Ось я запустив pgAdminIII, ярлик на який з'являється в меню Пуск відразу після установки, а там мені малює картинку, де сервер PostgreSQL перекреслені червоним хрестиком, ось так:
"Памажіте, добрі люди, а чо робити та?"
Ну хоча б з'єднання з сервером встановити для початку, для чого тупо двічі клацнути по цьому самому значку сервера, перекреслені червоним хрестиком. З'явиться віконце, в якому вас попросить ввести пароль для користувача postgres, той самий пароль який ви вводили раннє, при установці. Якщо ви введете його правильно, червоний хрестик зникне і вікно pgAdminIII набуде вигляду:
Підключення до сервера PostgreSQL за допомогою утиліти командного рядка psql
Показую на зображенні:
Зверніть увагу, що утиліті ПРЯМО ПЕРЕДБАЧЕНА потрібно вказати з яким користувачем проводити підключення до сервера і знову ж ввести той самий пароль, про який так багато писалося вище.
Ще зверніть увагу на попередження про розбіжності поточного кодування в консолі і кодування сервера. Справа в тому, що згідно з нашою установці ми вибрали раніше локаль Russia, Russia, що призвело до вибору кодування windows-1251, але консоль (командний рядок) Windows працює в кодуванні cp866 і це треба розуміти і враховувати при подальшій роботі
На закінчення
На предмет можливих грабель при установці (і звідки їх тільки беруть і як примудряються наступити) не забудьте прочитати розділ "Проблеми при установці" в моєму спеціальному FAQ.
Лікується до неподобства просто:
Мені також часто зустрічався баг, коли установка повисає на останньому кроці - ініціалізації кластера.
Справа тут все в тій же кирилиці в імені профілю користувача.