You are here: Foswiki>Gnumed Web>DatabaseOnWindowsRu (13 Feb 2013, IvanLykov)EditAttach

База данных GNUmed в сервере PostgreSQL на MS Windows

ОСТОРОЖНО, не запускайте ниже основной сценарий начального загрузчика, если имеется рабочая база данных, которая должна быть сохранена, поскольку она будет уничтожена (конечно, после запроса на подтверждение). Сценарии обновления базы данных, выбираемые в меню Пуск Windows, вводят серверную программу (начиная с базы данных v7). Они являются перекрестными ссылками в Руководстве администратора.

Ниже приведены возможные три способа запустить базу данных GNUmed на MS Windows:
  • используйте бинарный установщик – рекомендован для всех пользователей (запчасти для создания необходимых переменных окружения)
  • начальная загрузка вручную – для разработчиков программ
  • восстановление дампа базы данных с помощью, либо средства GUI, подобного 'PgAdmin III', либо средства командной строки 'pg_restore', либо более простого Резервного копирования и восстановления базы данных – для системных администраторов

Установка базы данных через графический пользовательский интерфейс (рекомендуется)

Первоначальная установка без предварительно установленного сервера базы данных PostgreSQL

  • скачайте пакет сервера Все-в-одном со страницы загрузки
  • дважды кликните по скачанному загрузчику и следуйте инструкциям по установке на экране
    • в случае сомнения просто все время нажимайте кнопку "далее"

На жесткий диск будут скопированы все необходимые файлы, установлено все зависимое программное обеспечение, такое как PostgreSQL, и подготовлена начальная загрузка базы данных. После того как все файлы будут скопированы, вам предоставится возможность запустить процесс начальной загрузки базы данных GNUmed. Если это не удается, или если нужно отложить этот шаг, всегда можно начать этот процесс позже через пункт Пуск меню Window для GNUmed-сервера ("...-database").

Установка на фоне предшествующей инсталляции сервера базы данных PostgreSQL - обновление GNUmed

  • скачайте пакет сервера только для GNUmed со страницы загрузки
  • дважды кликните по скачанному загрузчику и следуйте инструкциям по установке на экране
    • в случае сомнения просто все время нажимайте кнопку "далее"

На жесткий диск будут скопированы все необходимые файлы, установлено все зависимое программное обеспечение, такое как PostgreSQL, и подготовлена начальная загрузка базы данных. После того как все файлы будут скопированы, вам предоставится возможность запустить процесс начальной загрузки базы данных GNUmed. Если это не удается, или если нужно отложить этот шаг, всегда можно начать этот процесс позже через пункт Пуск меню Window для GNUmed-сервера ("...-database").

Примечания
  • для GNUmed-server.v11.1/WindowsXP: начальная загрузка запускается автоматически, создавая базу данных GNUmed без какого-либо необходимого ввода (username или password).
  • для GNUmed-server.v11.1/Windows2000: перед установкой сервера GNUmed необходимо вручную установить PostgreSQL 8.3.7 из-за сбоя под Windows2000 в сценарии по установке для GNUmed-server.v11.1 (при предварительно установленном PostgreSQL необходимо использовать тот же самый пароль, который потребовался в ходе начальной загрузки после установки сервера GNUmed!)
  • для GNUmed-server until v10.6: появится диалоговое окно и запросит предоставить более подробную информацию, такую, как пароль для доступа к серверу базы данных PostgreSQL
  • всегда можно перезапустить процесс начальной загрузки базы данных GNUmed через меню Пуск Windows в разделе GNUmed

Если все сработает, внутри сервера базы данных PostgreSQL создается ряд баз данных GNUmed. Этот процесс фиксируется в лог-файлах. Если что-либо неправильно, предоставьте лог-файлы команде проекта GNUmed. Это необходимо для исправления вашей проблемы.

Установка базы данных вручную (дополнительно, для разработчиков программного обеспечения)

Инструкции ниже зависят от уже установленного на вашем компьютере PostgreSQL,как описано в GnumedDatabase, а также уже выполненного ConfigurePostgreSQL ... упущение этого шага, скорее всего, вопрепятствует подключению клиентов с любой другой машины, поскольку по умолчанию PostgreSQL принимает только локальные соединения.

описание работы

Этот процесс идет примерно так:

  • создаются базы данных
  • импортируются все необходимые таблицы для нужных поддерживаемых служб
  • импортируются все необходимые файлы переводов для нужных поддерживаемых языков
  • предоставляются соответствующие права доступа
  • настраивается сопоставление служб для базы данных/сервер

В MS Windows, как только будет установлен Postgres, настроена учетная запись базы данных (например, gm-dbo), и программные файлы GNUmed установлены из CVS или архива снимков, шаги по установке базы данных могут быть обработаны автоматически и незаметно сценарием Python bootstrap_gm_db_system.py, расположенном в gnumed/server/bootstrap/. Несколько файлов конфигурации для начальной загрузки устанавливаются в этой же директории.

Этот процесс еще более упрощен , где это уместно, использованием предоставляемых пакетных файлов. Они сами будут вызывать скрипт начальной загрузки и предоставлять необходимые параметры командной строки, выполняя вызовы, такие как:

    ./bootstrap_gm_db_system.py --conf-file=<a config file>

процесс начальной загрузки

Во-первых, убедитесь, что Windows инсталлирован так, чтобы сценарий установки находил необходимые средства. Убедитесь, что python исполняем, а также различные инструменты postgres, такие как 'psql' и 'pg_restore' - находятся в вашем PATH. Можно проверить, используя вызов в DOS-окне подобно этому.

  echo %PATH%

Затем вызовите один из сценариев установки shell, предоставляемых в 'gnumed/server/bootstrap/':

  bootstrap-latest.bat

bootstrap-latest.bat будет устанавливать базу данных, включающую все необходимое для подключения к ней. Не беспокойтесь о зависимых от страны данных, устанавливаемых для стран, в которых вы не живете. Использование клиента GNUmed в вашей стране будет превосходно работать.

Внимательно прочитайте выходные данные. Они запросят в начале ввести пароль, сообщат о выполнении и намерении создать базу данных. Хотя он создает владельца базы данных (gm-dbo), если она еще не существует, начальный загрузчик не предназначен для вставки этого gm-dbo в файлы конфигурации postgres, поэтому этот шаг необходимо выполнить отдельно, согласно ConfigurePostgreSQL. Ряд строк пролетит, прежде чем увидите, наконец, выходные данных, что все прошло хорошо, подобно этой строке:

Done bootstrapping: We probably succeeded.

Чтобы подключиться к этому бэкэнду с клиента GNUmed, нужно изменить его файл gnumed.conf, как описано в GmManualStartingGnumed#LoggingIn.

Установка/восстановление базы данных из резервной копии (для системных администраторов)

через GNUmed

обратитесь к теме вики Резервное копирование и восстановление базы данных

через pg_restore

Сначала нужно получить резервную копию базы данных. Она доступна, как резервные копии зеркала нашей общедоступной базы данных с http://publicdb.gnumed.de/~ncq/gnumed/schema, либо, как дамп схемы, дамп данных, либо оба.

Если pg_restore находится в вашем PATH, запросите команду, подобную:

pg_restore.exe -i -h localhost -p 5432 -U postgres -d gnumed_v2 -s -v "C:\gnumed.backup"

через pgadminIII GUI

(еще не документировано)


Поиск и устранение неисправностей

1.) Если вручную установленный PostgreSQL не запрашивает пароли в черном ящике в конце установки пакета GNUmed
  • наиболее вероятно, что обязательные файлы PostgreSQL не найдены (не в вашей переменной окружения PATH)
    • Пуск-->Параметры-->Системные настройки-->Система
    • добавьте путь для файлов 'python.exe' и 'psql.exe'

2.) Если установка завершается сбоем с неясным сообщением об ошибке, связанной с тем, что не установлены процедурные языки:

  • убедитесь, что в следующем разделе конфигурационные файлы начальной загрузки (gnumed/server/bootstrap/*.conf) указывают на библиотеки pgsql на сервере.

3.) Если нужно иметь пароли пакета All-in-One-Server предустановленными.

  • Посетите страницу Часто задаваемых Вопросов - ЧаВо для уточнения.

По умолчанию, начальная загрузка может вставить приветствие в одну из таблиц, для предупреждения пользователей о том, что база данных, к которой они подключились не является рабочей. Оно хранится одной строкой в таблице cfg.db_logon_banner (в любой момент времени может быть только одна строка в таблице). Скриншот можно посмотреть в приложении к этому архивному сообщению. Для деактивации удалите строку из таблицы.

Если нужно перейти к работе, удостоверьтесь, что удалены тестовые учетные записи и возможно настроить свой собственный конфигурационный файл.

Если нужно настроить что-то вручную, читайте файлы конфигурации и исходные файлы для скриптов начальной загрузки. Все параметры файла конфигурации описаны в bootstrap_gm_db_system.conf.sample.
Topic revision: 13 Feb 2013, IvanLykov
 
Download.png
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark