Текущая страница: ГлавнаяРазное → Установка PostgreSQL и HoldemManager 2 в качестве клиента.

Установка PostgreSQL и HoldemManager 2 в качестве клиента.

Для начала ставим необходимы пакеты:

sudo apt-get install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 pgadmin3 phppgadmin

Установим пароль на аккаунт администратора

sudo su postgres -c psql template1

Попадаем в интерфейс PostgreSQL, выполняем команду

ALTER USER postgres WITH PASSWORD 'password';

Выходим из интерфейса:

\q

Если создать пользователя БД имя которого совпадает с логином Ubuntu, можно будет запускать клиента так

psql имя_бд

Теперь установим пароль unix пользователя postgres:

sudo passwd -d postgres
sudo su postgres -c passwd

Устанавливаем админиский пакет:

sudo su postgres -c psql < /usr/share/postgresql/9.3/contrib/adminpack.sql

Изменим файл конфигурации /etc/postgresql/9.3/main/postgresql.conf
Меняем

#listen_addresses = 'localhost'
на
listen_addresses = '*'

Раскоменчиваем строку

#password_encryption = on

Изменим файл определяющий права доступа к БД /etc/postgresql/9.3/main/pg_hba.conf
Формат записей в файле:

#TYPE DATABASE USER ADDRESS METHOD
#local для  соединения через UNIX сокеты
local all all peer
#разрешаем локальные соединения от 127.0.0.1
host all all 127.0.0.1/32 md5
#при необходимости разрешаем подключение от клиентов из локальной подсети
host all all 192.168.0.0/24 md5
#можно явно задать маску подсети
host all all 192.168.0.0 255.255.255.0 md5

Рестартуем сервис:

sudo /etc/init.d/postgresql restart

или так:

sudo service postgresql restart

Подключение из командной строки c использованием postgresql-client

psql -h 127.0.0.1 -U postgres -W

По умолчанию файлы БД находятся тут: /var/lib/postgresql/9.3/main
Администрирование БД через графический интерфейс: pgadmin3
Администрирование БД через веб интерфейс: http://127.0.0.1/phppgadmin
Дополнительная информация о PostgreSQL тут.
Статья по оптимизации PostgreSQL
Теперь перейдем к клиенту — HoldemManager 2
Саму программу я установил в OracleVM VirtualBox под Windows 7. Какой-то специальной настройки в ubuntu кроме включения маршрутизации, для доступа по сети из бокса не потребовалось. В боксе я подключил сетевой диск W: что-бы иметь доступ к данным на этом диске как из виртуальной машины, так и из Ubuntu (создается в настройке виртуальной машины — вкладка «Общие папки»). Как выяснилось, HoldemManager хранит данные в двух местах — часть в БД PostgreeSQL, а часть — в локальном каталоге.
Создаем хранилища при первом запуске HoldemManager, указываем хост-логин-пароль для подклчения к БД, далее задаем название создаваемой базы данных (это пример — у вас пути будут другие):
Database ParentFolder=>W:\HoldemDatabase
DatabaseName=>WorkBase
Что при этом происходит?
1. Создается БД PostgreSQL с именем WorkBase
2. Создается пустой локальный каталог W:\HoldemDatabase\WorkBase
Сама БД PostgreSQL физически будет расположена в каталоге /var/lib/postgresql/9.3/main/base/XXXX
Где XXXX-набор цифр сгенерированных при создании БД, будет в этом каталоге примерно 350 файлов общим объемом около 7,5 МБ
В локальном хранилище в процессе игры появляются файлы с отыгранными вами и оппонентами руками:
Файлы вроде этого — W:\HoldemDatabases\WorkBase\Players\12\никнейм_игрока\GGGGMMDD
Однако для отражения статистики в репортах информации в локальном хранилище недостаточно, нужны служебные данные из PostgreSQL.
Посмотрев таблицы БД, в частности таблицу settings (запускаем pgadmin3, открываем БД, Схемы->public->Таблицы->settings) видим что-то вроде этого:
CurrentPlayer->никнейм|12
DatabaseParentFolder->W:\\HoldemDatabases
RecentCurrentPlayers->никнейм|12
Другие таблицы содержат информацию о заметках на игроков, дополнительную информацию о сыгранных руках и прочее. Например из них видно что 12 в данном случае — идентификатор сайта Poker 888 в базе ХМ2. Таким образом часть данных будет в каталоге W:\HoldemDatabases\WorkBase\Players а другая часть будет в базе PostgreSQL.
Берем несколько архивов с данными майнинга и экспортируем их в базу через стандартных импорт в ХМ2, смотрим, что изменилось.
Таблица PostgreSQL players примерно 25 000 записей
Таблица PostgreSQL pokertables примерно 2000 записей
Таблица PostgreSQL pokerhands примерно 1 200 000 записей
Таблица PostgreSQL handhistories примерно 1 200 000 записей
Общий объем данной БД примерно 2GB
Из структуры локального хранилища видно, что там будет минимум 25 000 каталогов — на каждого игрока по каталогу, в каждом из которых сыгранные руки — по 1 файлу на каждый день.
Смотрим локальное хранилище — примерно 67 000 файлов и каталогов объемом около 2GB.
Рассмотрев увиденное, хотелось бы посмотреть в глаза разработчику и спросить -что ЭТО такое? Такое ощущение, что когда-то ХМ использовал для хранения данных файлы….потом разработчики решили перейти на постгри и даже частично перешли… а частично недоперешли, оставив часть данных в файлах….

Добавить комментарий