Iniciando o servidor PostgreSQL, usuário desconhecido do postgres

8

Estou tentando iniciar um servidor PostgreSQL (9.3) no Ubuntu 14.04. Estou seguindo este tutorial padrão: https://help.ubuntu.com/community/PostgreSQL

Depois de atualizar de 13.10 para 14.04, limpei a instalação do PostgreSQL devido a uma variedade de dificuldades que tive no pgadmin após a atualização.

Usando este comando após a nova instalação:

    sudo -u postgres psql postgres

retorna:

    sudo: unknown user: postgres
    sudo: rule-plugin could not be initialized

Não consegui encontrar nenhuma solução para isso, mas tenho que admitir que só uso o postgresql para hospedar meus bancos de dados GIS e estou bastante impressionado desde que encontrei todos esses problemas.

Editar:

A saída de ls -la / var / lib / postgresql é "Não é possível acessar / var / lib / postgresql: arquivo ou diretório não encontrado" ( traduzido do alemão )

Edite 2 (limpo e reinstalado):

    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.       
    Statusinformationen werden eingelesen.... Fertig
    Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt:
      libossp-uuid16
    Verwenden Sie »apt-get autoremove«, um es zu entfernen.
    Vorgeschlagene Pakete:
      oidentd ident-server locales-all
    Die folgenden NEUEN Pakete werden installiert:
      postgresql-9.3
    0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen noch 0 B von 3.451 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 17,5 MB Plattenplatz zusätzlich benutzt.
    Vormals nicht ausgewähltes Paket postgresql-9.3 wird gewählt.
    (Lese Datenbank ... 457272 Dateien und Verzeichnisse sind derzeit installiert.)
    Vorbereitung zum Entpacken von .../postgresql-9.3_9.3.4-1.pgdg14.04+1_amd64.deb ...
    Entpacken von postgresql-9.3 (9.3.4-1.pgdg14.04+1) ...
    Trigger für postgresql-common (154.pgdg14.04+1) werden verarbeitet ...
    Building PostgreSQL dictionaries from installed myspell/hunspell packages...
      de_at
      de_ch
      de_de
      en_au
      en_ca
      en_gb
      en_us
      en_za
    Removing obsolete dictionary files:
    postgresql-9.3 (9.3.4-1.pgdg14.04+1) wird eingerichtet ...
    Use of uninitialized value $owneruid in getpwuid at /usr/bin/pg_createcluster line 277.
    Error: clusters must not be owned by root
    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: /usr/share/postgresql/9.3/man/man1/postmaster.1.gz wird verwendet, um /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) im Auto-Modus bereitzustellen
     * No PostgreSQL clusters exist; see "man pg_createcluster"
tobias47n9e
fonte
1
Qual é a saída de ls -la /var/lib/postgresql?
Salem
@salem - o diretório está realmente ausente (veja a edição acima). Isso é estranho após uma nova instalação.
Tobias47n9e 9/05
1
Estranho ... Você pode removê-lo novamente ( apt-get purge postgresql-9.3), instalá-lo e publicar a saída de apt-get install postgresql-9.3? Pode haver alguma pista lá. Verifique também se você pode obter informações relevantes /var/log/postgresql/postgresql-9.3-main.log.
Salem
@ Salem - as últimas linhas não parecem boas.
Tobias47n9e

Respostas:

29

NOTA : Suponho que você não possua nenhum dado importante ou tenha algum backup deles. Se esse não for o caso antes de fazer qualquer coisa, você deve criar um backup dos seus dados!

Parece que, por algum motivo, não está criando o usuário necessário durante a instalação. Você pode tentar criá-lo manualmente e ver como vai:

$ sudo useradd -U -s /bin/bash postgres

Depois disso, execute o comando aptsugerido anteriormente:

$ sudo pg_createcluster 9.3 main --start
Salem
fonte