Démarrage du serveur PostgreSQL, utilisateur postgres inconnu

8

J'essaie de démarrer un serveur PostgreSQL (9.3) sur Ubuntu 14.04. Je suis ce tutoriel standard: https://help.ubuntu.com/community/PostgreSQL

Après la mise à jour de 13.10 à 14.04, j'ai purgé l'installation de PostgreSQL en raison de diverses difficultés rencontrées dans pgadmin après la mise à jour.

Utilisation de cette commande après la nouvelle installation:

    sudo -u postgres psql postgres

Retour:

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

Je n'ai trouvé aucune solution à cela, mais je dois admettre que je n'utilise que postgresql pour héberger mes bases de données SIG et je suis assez débordé depuis que j'ai rencontré tous ces problèmes.

Éditer:

La sortie de ls -la / var / lib / postgresql est "Impossible d'accéder à / var / lib / postgresql: fichier ou répertoire introuvable" ( traduit de l'allemand )

Edit 2 (purgé et réinstallé):

    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
la source
1
Quelle est la sortie de ls -la /var/lib/postgresql?
Salem
@salem - le répertoire est réellement manquant (voir modification ci-dessus). C'est bizarre après une nouvelle installation.
tobias47n9e
1
Bizarre ... Pouvez-vous le supprimer à nouveau ( apt-get purge postgresql-9.3), l'installer et publier la sortie de apt-get install postgresql-9.3? Il peut y avoir un indice là-bas. Vérifiez également si vous pouvez obtenir des informations pertinentes auprès de /var/log/postgresql/postgresql-9.3-main.log.
Salem
@salem - les dernières lignes ne semblent pas bonnes.
tobias47n9e

Réponses:

29

REMARQUE : je suppose que vous ne disposez pas de données importantes ou que vous en avez une copie de sauvegarde. Si ce n'est pas le cas avant de faire quoi que ce soit, vous devez créer une sauvegarde de vos données!

Il semble que, pour une raison quelconque, il ne crée pas l'utilisateur requis lors de l'installation. Vous pouvez essayer de le créer manuellement et voir comment ça se passe:

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

Après cela, exécutez la commande aptsuggérée précédemment:

$ sudo pg_createcluster 9.3 main --start
Salem
la source