O postgresql (server) configura um cluster principal após a instalação? (14.04)

6

Surpreende-me que a instalação do postgresql no Ubuntu não me forneça imediatamente uma configuração do servidor postgres em funcionamento: é necessário executar etapas adicionais:

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) ...

Eu já vi um comportamento semelhante no passado, em que o instalador falhou ao criar um cluster padrão (coisa) porque faltava alguma configuração de localidade, mas acho que tenho essa configuração corretamente.

É novo (e, portanto, correto) que uma etapa adicional seja necessária no Ubuntu 14.04? Ou algo está (silenciosamente) quebrado?

Tudo isso está acontecendo em um novo VPS DigitalOcean 14.04.

    
por Ivo van der Wijk 26.04.2014 / 18:00

3 respostas

5

Problemas que ocorrem aparecem na localidade do sistema

 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.

O primeiro passo para configurar a localidade de reposição com o comando:

  $ sudo dpkg-reconfigure locales

No entanto, o postgresql não pode ser executado, porque os atuais clusters de instalação do Postgres não são feitos.

Em seguida, execute o comando:

  $ sudo pg_createcluster 9.3 main --start
  • Nota: eu uso a versão postgresql-9.3

Em seguida, execute postgresql com o comando:

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

Os resultados são os abaixo

  $ sudo service postgresql start
    * Starting PostgreSQL 9.3 database server

Verifique o status postgresql em execução ou não

  $ sudo service postgresql status
    9.3/main (port 5432): online
    
por Yudi Dwiyanto 05.11.2015 / 07:57
1

Hoje eu estava jogando com o Ubuntu 14.04 e enfrentei o mesmo problema - mas no meu caso eu estava adotando meus manifestos de marionetes. Em qualquer caso, o problema era o mesmo: quando eu esperava encontrar o arquivo de configuração em /etc/postgresql/9.3/main/postgresql.conf , estava faltando. Depois de algum tempo eu encontrei a raiz do meu problema: por alguma razão o locale da caixa Vagrant que eu estava usando (na verdade, ubuntu / trusty64) foi configurado incorretamente e durante a instalação eu vi essas mensagens:

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

E no final da instalação:

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) ...

Depois de corrigir o código de idioma com esse comando sudo locale-gen ru_RU ru_RU.UTF-8 ru_RU ru_RU.UTF-8 antes de instalar o postgresql, o problema desapareceu. Espero que isso ajude alguém no futuro ou a mim do futuro.

    
por grundic 23.01.2015 / 21:31
0

Use pg_createcluster version clustername para criar um novo cluster. Isso criará uma pasta chamada versão em /etc/postgresql contendo uma pasta chamada clustername , que conterá os arquivos de configuração do banco de dados para o novo cluster: ambiente, pg_ctl.conf , pg_hba.conf , pg_ident.conf , postgresql.conf , start.conf . Substitua clustername pelo seu nome de cluster preferido.

    
por steamByte 26.04.2014 / 21:41