Создает ли postgresql (сервер) основной кластер после установки? (14.04)

6

Я удивлен, что установка 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? Или что-то (тихо) сломано?

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

    
задан Ivo van der Wijk 26.04.2014 в 18:00
источник

3 ответа

5

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

 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 не может быть выполнен, поскольку текущие кластеры установки Postgres не выполняются.

Затем запустите команду:

  $ 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
    
ответ дан Yudi Dwiyanto 05.11.2015 в 07:57
1

Сегодня я играл с 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 проблема исчезла. Надеюсь, это поможет кому-то в будущем или мне в будущем.

    
ответ дан grundic 23.01.2015 в 21:31
0

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

    
ответ дан steamByte 26.04.2014 в 21:41