Uruchamianie serwera PostgreSQL, nieznany użytkownik postgres

8

Próbuję uruchomić serwer PostgreSQL (9.3) na Ubuntu 14.04. Postępuję zgodnie z tym standardowym samouczkiem: https://help.ubuntu.com/community/PostgreSQL

Po aktualizacji do wersji od 13.10 do 14.04 oczyściłem instalację PostgreSQL z powodu różnych trudności, jakie miałem w pgadmin po aktualizacji.

Za pomocą tego polecenia po nowej instalacji:

    sudo -u postgres psql postgres

zwroty:

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

Nie mogłem znaleźć rozwiązania tego problemu, ale muszę przyznać, że używam postgresqla do przechowywania moich baz danych GIS i jestem dość przytłoczony od czasu napotkania wszystkich tych problemów.

Edytować:

Wyjście ls -la / var / lib / postgresql brzmi: „Nie można uzyskać dostępu / var / lib / postgresql: Nie znaleziono pliku lub katalogu” ( przetłumaczone z niemieckiego )

Edycja 2 (oczyszczona i ponownie zainstalowana):

    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
źródło
1
Jaka jest wydajność ls -la /var/lib/postgresql?
Salem,
@salem - katalog faktycznie nie istnieje (patrz edycja powyżej). To dziwne po nowej instalacji.
tobias47n9e
1
Dziwne ... Czy możesz go usunąć ponownie ( apt-get purge postgresql-9.3), zainstalować i opublikować wyjście apt-get install postgresql-9.3? Tam może być jakaś wskazówka. Sprawdź także, czy możesz uzyskać odpowiednie informacje od /var/log/postgresql/postgresql-9.3-main.log.
Salem,
@salem - kilka ostatnich wierszy nie wygląda dobrze.
tobias47n9e

Odpowiedzi:

29

UWAGA : Zakładam, że nie masz żadnych ważnych danych lub masz ich kopię zapasową. Jeśli tak nie jest przed zrobieniem czegokolwiek, należy utworzyć kopię zapasową danych!

Wygląda na to, że z jakiegoś powodu nie tworzy wymaganego użytkownika podczas instalacji. Możesz spróbować utworzyć go ręcznie i zobaczyć, jak idzie:

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

Po tym uruchomieniu polecenie aptsugerowane wcześniej:

$ sudo pg_createcluster 9.3 main --start
Salem
źródło