Starten des PostgreSQL-Servers, Postgres-Benutzer unbekannt

8

Ich versuche einen PostgreSQL-Server (9.3) unter Ubuntu 14.04 zu starten. Ich folge diesem Standard-Tutorial: https://help.ubuntu.com/community/PostgreSQL

Nach dem Update von 13.10 auf 14.04 habe ich die PostgreSQL-Installation wegen einer Reihe von Schwierigkeiten gelöscht, die ich nach dem Update in pgadmin hatte.

Verwenden Sie diesen Befehl nach der Neuinstallation:

    sudo -u postgres psql postgres

kehrt zurück:

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

Ich konnte keine Lösung dafür finden, aber ich muss zugeben, dass ich nur postgresql verwende, um meine GIS-Datenbanken unterzubringen, und ich bin ziemlich überwältigt, seit ich auf all diese Probleme gestoßen bin.

Bearbeiten:

Ausgabe von ls -la / var / lib / postgresql heißt "Can not access / var / lib / postgresql: Datei oder Verzeichnis nicht gefunden" ( übersetzt aus Deutsch )

Bearbeiten 2 (gelöscht und neu installiert):

    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
quelle
1
Was ist die Ausgabe von ls -la /var/lib/postgresql?
Salem
@salem - das Verzeichnis fehlt tatsächlich (siehe oben bearbeiten). Das ist komisch nach einer Neuinstallation.
Tobias 47n9e
1
Seltsam ... Kannst du es wieder entfernen ( apt-get purge postgresql-9.3), installieren und die Ausgabe von posten apt-get install postgresql-9.3? Es kann dort einen Hinweis geben. Überprüfen Sie auch, ob Sie relevante Informationen von erhalten können /var/log/postgresql/postgresql-9.3-main.log.
Salem
@salem - die letzten paar Zeilen sehen nicht gut aus.
Tobias 47n9e

Antworten:

29

HINWEIS : Ich gehe davon aus, dass Sie dort keine wichtigen Daten haben oder eine Sicherungskopie davon haben. Wenn dies nicht der Fall ist, bevor Sie etwas unternehmen, sollten Sie eine Sicherungskopie Ihrer Daten erstellen!

Es scheint, dass aus irgendeinem Grund während der Installation nicht der erforderliche Benutzer erstellt wird. Sie können versuchen, es manuell zu erstellen und sehen, wie es geht:

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

Führen Sie danach den aptzuvor vorgeschlagenen Befehl aus :

$ sudo pg_createcluster 9.3 main --start
Salem
quelle