Иллюстрированный самоучитель по PostgreSQL

Этап 9. Настройка сценария SysV для PostgreSQL.

Сценарий SysV позволяет корректно управлять работой PostgreSQL в системе SysV и выполнять такие операции, как запуск, остановка и проверка состояния. Он работает в большинстве версий Linux на базе Red Hat, включая Mandrake. Кроме того, после небольшой модификации он должен работать и в других системах SysV (UnixWare, Solaris и т. д.). Сценарий называется linux. Перед использованием его необходимо предварительно скопировать в каталог init.d. Возможно, для этого вам понадобятся права root.

Сначала перейдите в каталог, в котором были распакованы исходные тексты PostgreSQL (в нашем примере это /usr/local/src/postgresql-7.1.3/). Скопируйте сценарий из каталога contrib/start-scripts в каталог init.d командой (листинг 2.19).

Листинг 2.19. Копирование сценария linux.

$ cd /usr/local/src/postgresql-7.1.3/
$ su – с "ср contrib/start-scripts/linux /etc/re.d/init.d/postgresql"

В листинге 2.19 копии присваивается имя postgresql. Хотя имя сценария выбирается произвольно, обычно используется имя postgresql или postgres.

После копирования файл сценария необходимо сделать исполняемым. Для этого используется команда, приведенная в листинге 2.20.

Листинг 2.20. Назначение права исполнения для сценария SysV.

$ su – с "chmod a+x /etc/re.d/init.d/postgresql"

Для использования сценария SysV в Red Hat ничего больше не требуется, если вы намерены ограничиться ручным запуском PostgreSQL. Но если сценарий должен автоматически запускать PostgreSQL при загрузке компьютера (или смене уровня исполнения), необходимо установить программу chkconfig. После установки программы chkconfig в начало файла /etc/rc.d/init.d/postgresql включаются следующие две строки (вместе с символом #):

# Chkconfig: 345 85 15
# description: PostgreSQL RDBMS

Приведенные в этом примере параметры будут нормально работать в вашей системе. Тем не менее полезно представлять себе смысл выполняемых действий. Первая группа цифр (345) представляет уровни исполнения, на которых запускается PostgreSQL. В нашем примере PostgreSQL запускается на уровнях 3, 4 и 5. Второе число (85) определяет приоритет запуска PostgreSQL по отношению к другим программам. Большое значение означает, что PostgreSQL запускается позже других программ. Третье число (15) определяет относительный приоритет завершения PostgreSQL. Оно должно быть небольшим, чтобы программы завершались в порядке, обратном порядку их запуска. Как было сказано выше, сценарий должен работать с указанными параметрами, но при необходимости их можно изменить.

После того как эти две строки будут включены в сценарий, в Red Hat и Mandrake Linux для запуска PostgreSQL можно использовать команды, приведенные в листинге 2.21. Команды выполняются только с правами root.

Листинг 2.21. Запуск PostgreSQL с использованием сценария SysV.

$ service postgresql start
Starting PostgreSQL:ok $ service postgresql stop Stopping PostgreSQL:ok

Примечание
По умолчанию сценарий SysV направляет всю выводимую отладочную информацию PostgreSQL в файл /usr/local/pgsql/data/serverlog
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.