Ручная установка PostgreSQL 9.3 (Windows)
Английский оригинал здесь
Содержание
Введение - Всегда делайте резервную копию - Как устранить проблемы с базой данных или сервером - Управление службой Postgres - Обзор службы Postgres - Как убедиться, что служба Postgres работает - Ручная установка PostgreSQL - Скачивание инсталлятора с сайта PostgreSQL.org - Помощник по установке PostgreSQL - Папка установки - Папка с данными - Пароль - Порт - Расширенные опции - Готовы к установке - Завершение работы помощника по установке PostgreSQL - Установка еще одной Postgres - Как деинсталлировать PostgreSQL - Деинсталляция PostgreSQL 9.х - Удаление папки установки PostgreSQL - Удаление служебного аккаунта PostgreSQL - Переход между часовыми поясами при использовании PostgreSQL 9.3 - Изменение часового пояса в postgresql.conf
Введение
В этой инструкции рассказано, как вручную установить PostgreSQL 9.3. Разработчики и команда поддержки PokerTracker рекомендуют PostgreSQL 9.0 - существенной разницы в производительности по сравнению с PostgreSQL 9.3 на будет. Использовать PostgreSQL 9.3 можно, но на свой страх и риск. Начиная с версии PokerTracker 4.11 допускает, что вы вручную установили PostgreSQL 9.3 и перенесли базы данных на эту новую версию сервера.
Если PostgreSQL ранее была установлена на этом компьютере - очень важно знать, какая именно версия (старший новер) стоит и работает. Например, PostgreSQL 8.4.x или 9.0.x. Это можно выяснить несколькими способами:
1. Если PostgreSQL все еще установлена, перейдите в Пуск - программы и найдите там подпапку с именем PostgreSQL (версия) - указанный в скобках номер и есть искомое.
2. Если PostgreSQL уже удалена, откройтеМой компьютер и перейдите в папку Program Files/PostgreSQL. Там должна остаться подпапка с номером версии (8.х или 9.х), которая ранее была установлена на компьютере.
Всегда делайте резервную копию
PokerTracker 4 предоставляет удобный и простой способ сделать резервную копию базы данных и восстановить информацию из нее, а также настройки ПТ. Рекомендуется проделывать резервное копирование регулярно, особенно перед внесением существенных изменений как в саму БД, так и в систему. Перед тем, как изменять PostgreSQL очень важно сделать резервную копию, это самое главное правило, которому надо следовать всегда.
Как устранить проблемы с базой данных или сервером
Все сложности в работе PostgreSQL могут быть разделены на две категории:
1. Проблемы сервера - Правильная деинсталляция, а затем переустановка PostgreSQL обычно решает проблемы сервера. Однако, это не исправит случаи поврежденной базы или поврежденных файлов базы данных.
2. Проблемы с базой данных - Подобные проблемы легче всего решить созданием новой базы данных и ручным реимпортом в нее оригиналов файлов историй из архива (get hands from disk), который находится в папке Processed Files. Это самый эффективный способ построить базу данных заново.
Сложности с службой Postgres происходят, когда сервер баз данных не запускается операционной системой, или папка установки повреждена. Проблемы со службой - достаточно редки.
Сложности с базой данных PostgreSQL могут происходить, когда база данных запорчена. Хотя это и редкое явление, обычно оно вызвано сбоем диска или выключением компьютера (в том числе нештатным) в моменты, когда выполняется какая-то работа с базой данных. Мы не рекомендуем выключать ноутбук в то время, когда происходит импорт историй, или техническое обслуживание базы данных. Выключение самого PokerTracker перед выключением компьютера или переводом его в спящий режим поможет предотвратить возможные проблемы с базами данных.
Управление службой Postgres
Обзор службы Postgres
Если PokerTracker не может соединиться с базой данных PostgreSQL - самыми частыми тремя причинами этого могут быть следующие:
- Брандмауэр (Firewall) мог не пропустить соединение по протоколу TCP/IP через тот порт, который использует PostgreSQL. Для подробностей решения обратитесь к инструкции по антивирусам и файерволлам.
- Могла случиться блокировка сервиса PostgreSQL. Это механизм защиты, который срабатывает в случаях, когда компьютер выключается в моменты активной работы с базой данных. Проблема может быть решена удалением файла postmaster.pid и последующей перезагрузкой компьютера. Файл обычно находится в этой папке: C:\Program Files\PostgreSQL\9.3\data\.
- Сервис Postgres не запущен. Далее в этой главе рассамртивается именно этот случай.


Как убедиться, что служба Postgres работает
Быстрейший способ убедиться, что сервис PostgreSQL работает - применить коомандную строку Windows. Нажмите Пуск - Выполнить - наберите "CMD" и нажмите Enter.
В окне командной строки наберите
net start | find "Postgre"
и нажмите Enter.
После чего в окне должен отобразиться список всех процессов, в имени которых имеется буквосочетание "Postgre". Если таковых не обнаружится - значит, служба PostgreSQL не работает.

Убедиться, работает ли PostgreSQL, можно также через Диспетчер задач. Он открывается по правому клику на линейке задач и выборе пункта меню. Клавиатурное сокращение для этой операции Ctrl + Shift + Esc.
Windows 8: Перейдите на вкладку Процессы в Диспетчере задач и нажмите Подробности (More Details).

Windows Vista & Windows 7: Перейдите на вкладку Процессы в Диспетчере задач и нажмите кнопку Показать процессы от всех пользователей (Show processes from all users).

Windows XP & Windows 2000
На вкладке Процессы в самом низу убедитесь, что галка Показывать процессы от всех пользователей включена.
Кликните по заголовку колонки Имя образа, чтобы отсортировать список запущенных процессов. Прокрутите список и убедитесь, что в нем присутствуют несколько процессов с именем postgres.exe. Если вы устанавливали 32-битную версию PostgreSQL - в каждой строке к имени сервиса будет добавлено*32. Если устанавливалась 64-битная версия, вы увидите *64.
Если вы процессы в списке видите, значит PostgreSQL установлена правильно и можно запускать PokerTracker 4.

Если же процессов PostgreSQL в списке на обнаружено, а установка происходила без сообщений об ошибках, выполните эти шаги для запуска службы PostgreSQL:
1. Пажмите Пуск (Start)
2. Наберите services.msc и нажмите Enter. Это откроет Панель управления службами.
2.1. Пользователям Windows XP надо сликнуть на Выполнить (Run), затем ввести services.msc и нажать Enter.
2.2. Под Windows 7 окно Службы можно открыть через Диспетчер задач, перейдя на вкладку Службы (Service).
3. Кликните по заголовку колонки названий служб, чтобы отсортировать их по алфавиту.
4. Найдите службу, имя которой начинается с буквосочетания PostgreSQL и поставьте курсор на нее. Заметьте, что в колонке Log On As (запущено от...) для данной службы должно быть написано .\postgres - это специальный аккаунт, используемый сервером postgreSQL для работы.

5. Нажмите кнопку Рестарт службы.

PostgreSQL должна перезапуститься и оказаться в списке Диспетчера задач. Если это все еще не так, свяжитесь со службой поддержки PokerTracker для решения вопроса.
Ручная установка PostgreSQL
Каждая старшая версия PostrgeSQL создает свою папку установки, в которой размещены исполняемые файлы и папка с данными. Это означает, что при переходе от одной старшей версии к другой необходимо делать резервную копию базы данных, а затем восстанавливать информацию из нее уже под новой старшей версией. В принципе допускается, что на компьютере могут одновременно работать два сервера PostgreSQL, но старший номер версии у них тогда должен быть разным.
Напрямую невозможно провести апгрейд до версии PostgreSQL 9.3 с более ранних PostgreSQL 8.3, 8.4, 9.0, 9.1, или 9.2. Поэтому у вас есть два варианта действий для таких случаев:
1. Сделать резервную копию имеющихся баз данных, деинсталлировать старую версию PostgreSQL, затем установить PostgreSQL 9.3 и провести восстановление (restore) баз данных уже под ней.
2. Установить PostgreSQL 9.3 на другой порт (описано ниже). Сделать бекап баз(ы) данных. Затем исполнить пункт меню ПТ4 File > Open User Data Folder и ПТ4 закрыть. В открывшемся окне перейти в подпапку Configure, открыть на редактирование (как текстовый) файл PokerTracker.cfg. Найти в нем строку [Database] и изменить текст ниже ее в части номера порта, указав тот, на котором работает свежая установка сервера PostgreSQL 9.3, обычно это 5433, если вы делали установку по умолчанию. Файл сохранить.
[Database]
Default.Postgres.Server=localhost
Default.Postgres.Port=5433
3. Теперь можно запускать PT4 снова и проделать восстановление старых баз данных под этим новым сервером PostgreSQL 9.3, который работает через другой порт.
Скачивание инсталлятора с сайта PostgreSQL.org
Когда вы устанавливаете PostgreSQL для работы с PokerTracker 4, для обеспечения наилучшей производительности и наличия всех исправлений следует всегда ставить самую свежую версию PostgreSQL 9.3. (На момент перевода этой инструкции на русский самая свежая, версия имеет номер 9.3.6, однако на скринах в этой инструкции показана более старая). PostgreSQL 9.3 поддерживается в PokerTracker 4, начиная с версии 4.11, выпущенной в мае 2014.
Откройте веб-браузер и перейдите на сайт PostgreSQL в раздел download.
Найдите кнопку скачивания инсталлятора версии 9.3.х для Windows и нажмите ее. Вы можете выбрать между 32 и 64-битными версиями программы. Если у вас Windows 64-битная, мы рекомендуем устанавливать 64-битную же версию PostgreSQL. Если же у вас классическая 32-битная Windows, тогда надо брать 32-битную PostgreSQL. В общем случае использование 64-битной версии СУБД на 64-битной Windows дает повышение производительности, если в компьютере установлен адекватный объем оперативной памяти. А это обычно означает 8 и больше гигабайт оперативной памяти.

Помощник по установке PostgreSQL
Сделайте правый клик на скачанном файле установщика postgresql-9.3.x - запустить от администратора, чтобы начать установку. Затем нажмите кнопку Next.

Папка установки
The second screen named Installation Options is the step where you can choose the location of PostgreSQL 9.3 on your hard drive. If you need to install PostgreSQL to a non-default location, such as a different hard drive, then click folder icon and browse to and select the location to install. If you previously had an earlier version of PostgreSQL such as 9.0 or 8.4 then a new folder will be required, you cannot install PostgreSQL 9.3 on top of earlier major release versions.
PokerTracker recommends that you install to the default location unless you have a dedicated alternate solutions such as a Solid State Drive (SSD) for your database. Click Next to continue.
Папка с данными
Если это новая установка PostgreSQL, вам будет предложено задать местоположения папки с данными (data directory). Нажмите Next > для продолжения (НЕ СЛЕДУЕТ изменять путь к этой папке, по умолчанию она окажется подпапкой в папке установки собственно программы, которую вы задали на предыдущем шаге).
If you are upgrading to the the latest PostgreSQL point release update, the installer will not prompt you for the data directory.
Пароль
На следующем экране Password имеется возможность задать пароль к базам данных PostgreSQL для служебного аккаунта "postgres". Мы советуем использовать пароль по умолчанию
dbpass
однако можно задать и любой другой. Использование пароля по умолчанию безопасно, поскольку сервер баз данных сконфигурирован так, чтобы быть доступным только с локального компьютера. Если вы забыли самостоятельно заданный пароль, вам придется переустанавливать PostgreSQL заново и удалять служебный аккаунт postgres. Поэтому мы рекомендуем использовать пароль по умолчанию dbpass.

Порт
Следующий экран позволяет изменить порт, через который PostgreSQL будет работать с использованием протокола TCP/IP. По умоланию номер порта 5432. Если вы ставите на компьютер вторую Postgresql, тогда номер порта по умолчанию увеличится на единиуц и будет 5433.
Не меняйте здесь ничего, разве что вы очень продвинутый пользователь и точно знаете, что делаете. Нажмите Next > для продолжения.
Расширенные опции
На этом экране оставьте все как есть и Нажмите Next > для продолжения.
Готовы к установке
PostgreSQL готова к установке. Нажмите Next > для старта процесса установки.
Завершение работы помощника по установке PostgreSQL
Когда установщик PostgreSQL завершит работу, он предложит запустить приложение stack builder. Отмените эту галку и нажмите Finish.

Теперь PostgreSQL должна оказаться успешно установленной на компьютер.
Установка еще одной Postgres
Если вы переходите на PostgreSQL 9.3 с какой-то из предыдущих версий, у вас есть два варианта стратегии перехода:
1. Сделать резервную копию имеющихся баз данных, деинсталлировать старую версию PostgreSQL, затем установить PostgreSQL 9.3 и провести восстановление (restore) баз данных уже под ней. Это самый простой способ для большинства пользователей, поскольку не требует никаких изменений в ПТ4. Порт, через который ПТ4 будет соединяться с сервером PostgreSQL, останется тем же 5432 (если не менялись умолчания при установке).
2. Сделать бекап баз(ы) данных под предыдущим сервером PostgreSQL database, затем установить новую PostgreSQL 9.3, которая будет уже использовать другой порт (по умолчанию 5433). Затем уже под PostgreSQL 9.3 создать новую базу данных, соединив ПТ4 с PostgreSQL через порт 5433. Теперь восстановить старые базы данных. Этот способ позволяет сохранить возможность управления предыдущим сервером баз данных одновременно с управлением новым 9.3.
*Замечание* Использовать две и более установки PostgreSQL можно только, если номера их старших версий - разные.
Как деинсталлировать PostgreSQL
Каждая из версий PostgreSQL имеет свои собственные особенности при установке или деиснталляции. Если вы хотите удалить PostgreSQL, обратитесь к руководству по соответствующей версии программы.
- Деинсталляция PostgreSQL 9.0 или новее описана ниже.
- О деинсталляции PostgreSQL 8.4 см. здесь
- Деинсталляция PostgreSQL 8.3 описана здесь
Перед тем, как удалять, прочтите внимательно инструкцию и не забудьте сделать резервную копию базы данных. Мы не рекомендуем производить деинсталляцию PostgreSQL, кроме случаев, когда образовались проблемы со службой Postgres, либо вы желаете заменить старую версию PostgreSQL на более новую старшую версию, не изменяя порт, используемый этой службой.
Деинсталляция PostgreSQL 9.х
Процесс деинсталляии PostgreSQL 9.x зависит от операционной системы на компьютере. После завершения деинсталляции база данных остается на диске, что позволяет при необходимости переустановить ту же версию и задействовать имеющиеся данные.
Не следует пытаться удалить PostgreSQL простым удалением папок, это не только не сработает, но и создаст проблемы для операционной системы. Единственный безопасный и надежный способ удалить PostgreSQL - сделать это через функцию Windows - Панель управления - Удаление программ и применяя официальный деинсталлятор PostgreSQL.
Windows 8: В меню Пуск (Start) выберите Панель управления, затем “Удаление программ”. Укажите PostgreSQL 9.x, которую надо удалить, и нажмите Uninstall.

Windows 7: В меню Пуск (Start) выберите Панель управления, затем “Удаление программ”. Укажите PostgreSQL 9.x, которую надо удалить, и нажмите Uninstall.

Windows Vista: В меню Пуск (Start) откройте Панель управления. Если вы используете классический вид, выберите Программы и компоненты. В противном случае в разделе Программы выберите Удалить программу. Укажите PostgreSQL 9.x, которую надо удалить, и нажмите Uninstall.
Windows XP or 2000: В меню Пуск (Start) откройте Панель управления и выберите "Добавление и удаление программ". Укажите PostgreSQL 9.x, которую надо удалить, и нажмите Uninstall.

Если в списке имеется программа "psqlODBC", выберите ее и также удалите. Если ее нет, пропустите этот шаг.
После этого собственно программа PostgreSQL и служба окажутся удаленными, но база данных осталась. Если вы желаете удалить и ее - исполните дальнейшие шаги.
Удаление папки установки PostgreSQL
ПРЕДУПРЕЖДЕНИЕ: Не следует удалять папку PostgreSQL, если только вы не желаете перестроить все с нуля и создать совершенно новую базу данных. После выполнения этого шага удаленная информация восстановлению не подлежит.
Если вы желаете сохранить имевшиеся базы данных после удаления PostgreSQL - пропустите этот шаг.
После того, как программа PostgreSQL деинсталлирована, можно удалить и папку PostgreSQL. В Проводнике Windows откройте "Мой компьютер" и навигируйте в папку C:/Program Files. Найдите там подпапку с именем "PostgreSQL", сделайте на ней правый клик - Удалить. Если папка PostgreSQL не обнаружена, поищите ее в C:\Program Files (x86).
Теперь PostgreSQL полностью удалена с компьютера, вместе с данными.
Удаление служебного аккаунта PostgreSQL
В некоторых ситуациях (но не всегда) придется удалять также и служебный аккаунт (учетную запись) "postgres" перед тем, как начинать новую установку или обновлять имеющуюся. Обычно такая необходимость возникает, когда у существующего аккаунта повреждены права и разрешения в операционной системе. Либо вы столкнулись с сообщением о недостаточности прав при установке PostgreSQL.
Если вы забыли пароль к этой учетной записи, мы советуем сначала попробовать умолчания - нижеприведенные три пароля. Если ни один не подойдет - придется удалить эту учетную запись и переустанавливать PostgreSQL
dbpass
postgrespass
svcPASS83
Удаление учетной записи службы PostgreSQLделается из командной строки. Есть два способа ее открыть с обязательно необходимыми полными администраторскими правами.
Вариант 1:
Нажать Пуск (Start), нажать Все программы, перейти в раздел Стандартные (Accessories).
Сделать правый клик по Командная строка (Command prompt), выбрать Запустить от администратора (Run as administrator).
Если появится сообщение от службы контроля учетных записей - подтвердить, что это именно то, что вы хотите сделать, и нажать Продолжить (Continue).
Альтернативный вариент:
1. Нажать Пуск (Start).
2. В строке поиска набрать cmd, затем нажать CTRL+SHIFT+ENTER.
Если появится сообщение от службы контроля учетных записей - подтвердить, что это именно то, что вы хотите сделать, и нажать Продолжить (Continue).

В окне командной строки ввести
net user postgres /delete
И нажать <Enter>

Результатом выполнения должно быть сообщение "команда выполнена успешно" ("The command completed successfully"). Если этого сообщения нет - значит, удаление служебного аккаунта postgres не удалось по причине недостатка административных прав. В таком случае закройте это окно и проделайте все заново, запустив командную строку от администратора.
Переход между часовыми поясами при использовании PostgreSQL 9.3
В версиях PostgreSQL до 9.2 часовой пояс определялся чтением системных настроек и задавался на каждом старте сервера PostgreSQL. Начиная с версии 9.2 часовой пояс уже не берется из системы, а напрямую задается в файле конфигурации PostgreSQL.
В ходе первоначальной установки PostgreSQL 9.2 и новее часовой пояс, применяемый в операционке, выставляется в качестве пояса по умолчанию в файле postgresql.conf.
Этот новый метод работы с часовыми поясами имеет большие преимущества для большинства функций PostgreSQL. Сервер баз данных обычно работает на стационарных компьютерах, ассоциированных с фиксированных IP-адресом. Но потребности пользователей PokerTracker 4 - различны, игроки в покер могут использовать ноутбук вместо стационарного компьютера и менять свое географическое местоположение - соответственно, IP-адрес может меняться.
Если вы оказались в другом часовом поясе, вы можете обнаружить, что истории раздач, которые вы импортируете, получат сдвиг по времени. Этот сдвиг влияет на все отчеты и фильтры. Чтобы временно подправить это неудобство, следует изменить оператор часовой поясв файле postgresql.conf и привести время в соответствие, а затем перестартовать сервер PostgreSQL.
Изменение часового пояса в postgresql.conf
Для версий PostgreSQL 9.2 и новее можно задать часовой пояс редактированием файла postgresql.conf.
Windows (отличия для Mac указаны ниже)
1. Нажмите Пуск и наберите на клаиватуре 'notepad', чтобы найти текстовый редактор Блокнот.
2. Сделайте правый клик на иконке Блокнот и выберите Запустить от администратора. Если появится сообщение от службы контроля учетных записей (UAC), сделайте так, чтобы запустить Блокнот с правами администратора:
2.1. Если в залогинены в Windows как пользователь "с обычным доступом", или UAC настроена так, чтобы всегда требовать разрешения, введите учетные данные администратора и нажмите ОК.
2.2. Если вы залогинены как администратор, а UAC не настроена, чтобы всегда требовать разрешений, нажмите Yes для запуска приложения.
3. В Блокноте откройте этот файл: C:\Program Files\PostgreSQL\9.3\data\postgresql.conf
Замечание: по умолчанию Блокнот ищет только текстовые файлы, поэтому при поиске следует переключить опцию типа файла с "Текстовые документы" на "Все файлы" в диалоговом окне открытия файлов.
Альтернативно можно просто скопировать и вставить имя файла в окно открытия.
4. Нажмите CTRL+F и введите "timezone =". Укажите направление поиска Вниз и нажмите искать слдеующий.
5. Измените часовой пояс, чтобы оно соответствовал вашему текущему местоположению. Полный список часовых поясов можно найти здесь с кологке "TZ".
Например, вы устанавливали PostgreSQL 9.3, когда находились в Лондоне - ваш часовой пояс будет показан как : timezone = 'Europe/London'. Чтбы он отражал то, что в данное время вы находитесь в Берлине, измените параметр на timezone = 'Europe/Berlin'

6. Символ решетки # в начале строки в файле postgreql.conf file применяется для "комментирования" ее (то есть, строка эта не исполняется). Если в начале строки с параметром часового пояса имеется решетка # - ее следует удалить.
7. Сохранить файл postgresql.conf выбором пункта меню Файл - Сохранить.
8. Сервер PostgreSQL теперь требуется перезапустить, чтобы изменения вступили в силу. Самый просотй способ это сделать - перегрузить компьютер.
Mac OSX
В операционной системе Mac OSX можно проделать такие же изменения, но чтобы получить возможность редактировать файл, надо предпринять следующие шаги:
1. Запустить приложение Terminal, находящееся здес /Applications/Utilities/Terminal.
2. Набрать sudo nano /Library/PostgreSQL/9.3/data/postgresql.conf
Ввести пароль администратора OS X, если он будет запрошен. Это запустить текстовый редактор Nanoв окне Terminal.
3. Применить поиск и найти вхождение timezone = 'X' нажатием CTRL+W (как указано внизу окна Terminal) и ввести значение "timezone =".
4. Нажать CTRL+O для сохранения файла, затем CTRL+X для закрытия текстового редактора.
5. Сервер PostgreSQL теперь требуется перезапустить, чтобы изменения вступили в силу. Самый просотй способ это сделать - перегрузить компьютер.