База данных, не запускающаяся в init.d

Я пытаюсь установить маленькую postgresql базу данных по beaglebone черному цвету. Приложение является медленным, таким образом, я храню базу данных по карте памяти microSD на 64 ГБ. Я отформатировал диск, смонтировал все это правильно.

Я вошел в систему как пост-ГРЭС

sudo su пост-ГРЭС

создайте кластер баз данных

./initdb /data   # the mountpoint is /data

Все это, казалось, работало правильно. Я могу

./postgres -D /data and the cluster seems to start correctly.

Я хочу, чтобы база данных запустилась в init.d, таким образом, я отредактировал эти три строки в/etc/postgresql/9.1/postgresql.conf и указал на эти три записи в / данные. Когда я запускаю машину, база данных перестала работать со следующим в файле журнала

autovacuum launcher started
database system is ready
incomplete startup packet
received smart shutdown request
autovacuum launcher shutting down
database system is shutdown

Я, очевидно, пропустил что-то, любой указатель туда, где найти то, что я пропустил, будет цениться.

0
задан 17 March 2016 в 19:42

1 ответ

Сценарии запуска возьмут Ваш экземпляр пост-ГРЭС при создании его с инструментами, которые предназначены для работы с этими сценариями, который является:

  • pg_createcluster для создания экземпляра (или кластер в терминологии пост-ГРЭС).
  • pg_ctlcluster для управления экземпляром.

Например, вместо выполнения initdb, и принятие Вас установило postgresql-9.1 пакет, Вы, как ожидают, сделаете:

sudo pg_createcluster --datadir=/data 9.1 mycluster

Затем определенный каталог будет создан для того экземпляра под /etc/postgresql/9.1 для postgresql.conf и другие конфигурационные файлы, среди который a start.conf с этим содержанием:

# Automatic startup configuration
# auto: automatically start/stop the cluster in the init script
# manual: do not start/stop in init scripts, but allow manual startup with
#         pg_ctlcluster
# disabled: do not allow manual startup with pg_ctlcluster (this can be easily
#           circumvented and is only meant to be a small protection for
#           accidents).

auto

Можно затем отредактировать этот файл для создания кластерного автоматического запуска или не при начальной загрузке.


С другой стороны, если у Вас есть ноу-хау пост-ГРЭС, возможно обойти пакет Ubuntu способ обработать PostgreSQL и выйти непосредственно initdb, postgres -D ... как упомянуто в вопросе, но затем необходимо сделать все это путь и использовать собственный сценарий запуска и конфигурационные файлы.

Осуществление контрейлерных перевозок на упакованном материале только для части администраторской работы будет иметь тенденцию не работать, например, редактируя /etc/postgresql/9.1/postgresql.conf не достигнет многого, как Ваше пользовательское initdb вызов создаст postgresql.conf только под Вашим /data каталог и прямой вызов postgres -D /data возьмет тот файл, не тот под /etc/...

0
ответ дан 29 September 2019 в 10:03

Другие вопросы по тегам:

Похожие вопросы: