2009-02-25 4 views
6

Мне любопытно, почему вам не нужно использовать initdb в соответствии с руководством postgresql перед запуском psql в первый раз? (Я установил версию 8.3 на 8.04.1)Почему PostgreSQL работает на Ubuntu после установки без использования initdb?

Red Hat требует -c postgresql start, но не init.db.

Однако на FreeBSD вам нужно запустить initdb.

Почему настройка не согласована? Оказывается ли разница между apt-get install, rpm -i и pkg_add?

ответ

1

Скорее всего, это просто, что сценарии запуска, с которыми они упаковываются этими системами, автоматически запускают initdb при первом запуске.

+0

Это точно. Посмотрите /etc/init.d/postgresql –

1

Почти наверняка, да. Различные вкусы Linux и Unix имеют разные подходы к программному обеспечению для упаковки; Например, FreeBSD основывается на системе портов (где вы компилируете с нуля, хотя для большинства из них есть встроенные бинарные пакеты), в то время как в основных дистрибутивах Linux вы можете найти полностью предварительную версию, готовый бинарный пакет для чего-то популярного.

Различные люди, которые поддерживают системы упаковки («упаковщики» и другие, иногда менее добрые прозвища) поддерживают разные подходы к проблеме, часто отражая этос родительского проекта. В качестве альтернативы, может быть просто, что один упаковщик решает, что разумно устанавливать настройки со стандартной конфигурацией и запускать некоторые общие шаги инициализации от вашего имени, тогда как более готовый к отправке пакетщик оставит его до конечного пользователя, особенно если программное обеспечение каким-либо образом осложняется или требует какого-либо рассмотрения перед развертыванием, например системных услуг.

0

Если не ошибаюсь, пакеты PostgreSQL Ubuntu происходят из Debian. Может быть, упаковка Debian имеет эту позицию по какой-то причине. Если это так, Debian и все его производные, такие как Ubuntu, будут изображать одно и то же поведение. Это произойдет, только если вы попытаетесь установить соответствующее программное обеспечение из репозитория. Если вы получите источник с сайта PostgreSQL и скомпилируете его, вы получите его, как указано в руководстве. Различные дистрибутивы соответствуют определенным правилам упаковки и придерживаются определенных позиций в отношении упаковки определенных программных продуктов. Если вы хотите узнать точную информацию, вы можете вытащить пакета поддержки пакета postgresql, чтобы узнать причины.

1

Это не сценарии запуска, а установочные крючки, указанные в пакете, который вы установили, который делает дополнительные шаги для вас. Независимо от того, используете ли вы формат .deb или .rpm, упаковщики могут устанавливать задачи после того, как все файлы были установлены.

Некоторые дистрибутивы держат вас за руку при установке программного обеспечения, некоторые ожидают, что вы предпочтете делать что-то самостоятельно. На самом деле нет никакого золотого ответа относительно того, почему любой упаковщик делает то, что они делают.

Ubuntu стремится к простой установке без щелчка без использования оболочки. Другие дистрибутивы, созданные специально для системных интеграторов, не держат вас за руку.

Добро пожаловать в 31 (и более) варианты операционных систем, вращающихся вокруг ядра Linux, или усилия, направленные на ядро ​​BSD.

У каждого есть представление о том, как это должно быть сделано. Хорошие дистрибутивы предполагают, что вы знаете, что вы делаете .. если, конечно, они не хотят ущипнуть рынок настольных компьютеров от Microsoft, и в этом случае они станут хорошими настольными дистрибутивами, которые держат вас за руку.

Это вопрос выбора, в основном, что и делает все это явление таким крутым.

1

Debian (и по расширению Ubuntu) обрабатывает PostgreSQL довольно умно. Взгляните на пакет postgresql-common. Вкратце, он поддерживает наличие нескольких (основных) версий postgres и нескольких кластеров для каждой версии postgres. Чтобы узнать, какие у вас кластеры, попробуйте pg_lsclusters. Составитель пакета предполагает, что если вы впервые устанавливаете пакеты pg-сервера, которые вы хотите для initdb кластера для него. Например, если вы установили postgresql-9.1, вы получите по умолчанию 9.1/основной кластер initdb'd для вашего использования.

В дистрибутивах Linux все несовместимо, потому что все точки дистрибутивов предлагают более эффективные решения таких проблем. Debian предлагает отличное решение на этом фронте. Однако я рекомендую вам использовать postgresql PPA и получить более новую версию postgresql, тем более, что вы просто устанавливаете вещи.

Я только что понял, что я отвечаю на древний вопрос. Бу.

 Смежные вопросы

  • Нет связанных вопросов^_^