Запуск сервера PostgreSQL, пользователь postgres неизвестен

8

Я пытаюсь запустить сервер PostgreSQL (9.3) в Ubuntu 14.04. Я следую этому стандартному учебнику: https://help.ubuntu.com/community/PostgreSQL

После обновления с 13.10 до 14.04 я произвел чистку установки PostgreSQL из-за множества трудностей, возникших у меня внутри pgadmin после обновления.

Используя эту команду после новой установки:

    sudo -u postgres psql postgres

возвращает:

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

Я не мог найти никакого решения для этого, но я должен признать, что я использую только postgresql для размещения своих ГИС-баз данных, и я довольно ошеломлен, так как столкнулся со всеми этими проблемами.

Редактировать:

Вывод команды ls -la / var / lib / postgresql : «Не удается получить доступ к / var / lib / postgresql: файл или каталог не найден» ( перевод с немецкого )

Редактировать 2 (очищено и переустановлено):

    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
источник
1
Какой выход ls -la /var/lib/postgresql?
Салем
@salem - каталог фактически отсутствует (см. выше). Это странно после новой установки.
tobias47n9e
1
Странно ... Можете ли вы удалить его снова ( apt-get purge postgresql-9.3), установить его и опубликовать вывод apt-get install postgresql-9.3? Там может быть любая подсказка. Также проверьте, можете ли вы получить любую соответствующую информацию от /var/log/postgresql/postgresql-9.3-main.log.
Салем
@salem - последние несколько строк выглядят не очень хорошо.
tobias47n9e

Ответы:

29

ПРИМЕЧАНИЕ . Я предполагаю, что у вас нет важных данных или у вас есть резервная копия. Если это не так, прежде чем что-то делать, создайте резервную копию своих данных!

Кажется, что по какой-то причине он не создает требуемого пользователя при установке. Вы можете попробовать создать его вручную и посмотреть, как это происходит:

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

После этого запустите команду, aptпредложенную ранее:

$ sudo pg_createcluster 9.3 main --start
Salem
источник