Postgresql (сервер) настраивает основной кластер после установки? (14.04)

Я удивлен, что установка postgresql на Ubuntu не дает мне сразу работающую настройку сервера postgres: он требует дополнительных шагов:

Setting up postgresql-common (154) ...
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Setting up postgresql-9.3 (9.3.4-1) ...
update-alternatives: using /usr/share/postgresql/9.3/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Setting up postgresql (9.3+154) ...

Я видел подобное поведение в прошлом, когда Программа установки не смогла создать кластер по умолчанию (я так думаю), потому что некоторые настройки локали отсутствовали, но я думаю, что они настроены правильно.

Ново ли (и потому правильно), что в Ubuntu 14.04 требуется дополнительный шаг? Или что-то (тихо) сломано?

Все это происходит на новом VPS DigitalOcean 14.04.

6
задан 26 April 2014 в 20:00

3 ответа

Сегодня я играл с Ubuntu 14.04, и столкнитесь с той же проблемой - но в моем случае я принимал свои марионеточные декларации. В любом случае проблемой было то же: когда я, как ожидали, найду файл конфигурации под /etc/postgresql/9.3/main/postgresql.conf, он отсутствовал. Через какое-то время я нашел корень своей проблемы: по некоторым причинам локаль поля Vagrant, которое я использовал (на самом деле, ubuntu/trusty64) была неправильно сконфигурирована, и во время установки я видел такие сообщения:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_TIME = "ru_RU.UTF-8",
        LC_MONETARY = "ru_RU.UTF-8",
        LC_ADDRESS = "ru_RU.UTF-8",
        LC_TELEPHONE = "ru_RU.UTF-8",
        LC_NAME = "ru_RU.UTF-8",
        LC_MEASUREMENT = "ru_RU.UTF-8",
        LC_IDENTIFICATION = "ru_RU.UTF-8",
        LC_NUMERIC = "ru_RU.UTF-8",
        LC_PAPER = "ru_RU.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory

И в конце установки:

Unpacking postgresql (9.3+154) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for ureadahead (0.100.0-16) ...
Setting up libpq5 (9.3.5-0ubuntu0.14.04.1) ...
Setting up postgresql-client-common (154) ...
Setting up postgresql-client-9.3 (9.3.5-0ubuntu0.14.04.1) ...
update-alternatives: using /usr/share/postgresql/9.3/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
Setting up ssl-cert (1.0.33) ...
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up postgresql-common (154) ...
locale: Cannot set LC_ALL to default locale: No such file or directory
Adding user postgres to group ssl-cert

Creating config file /etc/logrotate.d/postgresql-common with new version
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Processing triggers for ureadahead (0.100.0-16) ...
Setting up postgresql-9.3 (9.3.5-0ubuntu0.14.04.1) ...
Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with

  pg_createcluster 9.3 main --start

or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/9.3/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Setting up postgresql (9.3+154) ...
Processing triggers for libc-bin (2.19-0ubuntu6.5) ...

После фиксации локали с такой командой sudo locale-gen ru_RU ru_RU.UTF-8 ru_RU ru_RU.UTF-8 прежде, чем установить postgresql проблема, которую уводят. Надежда это помогло бы кому-то в будущем или мне от будущего.

0
ответ дан 26 April 2014 в 20:00

Используйте pg_createcluster version clustername для создания нового кластера. Это создаст папку, названную версией под /etc/postgresql содержащий папку, названную clustername, который будет содержать файлы конфигурации БД для Вашего нового кластера: среда, pg_ctl.conf, pg_hba.conf, pg_ident.conf, postgresql.conf, start.conf. Замена clustername с Вашим предпочтительным кластерным именем.

0
ответ дан 26 April 2014 в 20:00

Проблемы, которые происходят, появляются на системной локали

 warning: Please check that your locale settings:
  LANGUAGE = (unset),
  LC_ALL = (unset),
  LC_TIME = "en_US.UTF-8",
  LC_MONETARY = "en_US.UTF-8",
  LC_ADDRESS = "en_US.UTF-8",
  LC_TELEPHONE = "en_US.UTF-8",
  LC_NAME = "en_US.UTF-8",
  LC_MEASUREMENT = "en_US.UTF-8",
  LC_IDENTIFICATION = "en_US.UTF-8",
  LC_NUMERIC = "en_US.UTF-8",
  LC_PAPER = "en_US.UTF-8",
  LANG = "en_US.UTF-8"
     are supported and installed on your system.

первый шаг для конфигурирования локали сброса с командой:

  $ sudo dpkg-reconfigure locales

Однако postgresql не может быть выполнен, потому что текущие кластеры установки Пост-ГРЭС не сделаны.

Затем выполняет команду:

  $ sudo pg_createcluster 9.3 main --start
  • Примечание: Я использую Следующий запуск версии postgresql-9.3

postgresql с командой:

  $ sudo service postgresql start
   ## Or
  $ sudo /etc/init.d/postgresql start

результаты как ниже

  $ sudo service postgresql start
    * Starting PostgreSQL 9.3 database server

Проверка состояние postgresql выполнение или не

  $ sudo service postgresql status
    9.3/main (port 5432): online
5
ответ дан 26 April 2014 в 20:00
  • 1
    Спасибо за запись чего-то на самом деле понятного, вместо модных словечек потока сознания, проникающих в Mark' s статья. – Lightness Races in Orbit 28 October 2015 в 06:29

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

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