正在启动PostgreSQL服务器,postgres用户未知


8

我试图在Ubuntu 14.04上启动PostgreSQL服务器(9.3)。我正在遵循此标准教程:https : //help.ubuntu.com/community/PostgreSQL

从13.10升级到14.04之后,由于更新后在pgadmin中遇到了许多困难,我清除了PostgreSQL安装。

全新安装后使用以下命令:

    sudo -u postgres psql postgres

返回:

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

我找不到任何解决方案,但是我不得不承认,我只使用postgresql来存放我的GIS数据库,并且由于遇到所有这些问题,我不知所措。

编辑:

输出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"

1
输出是ls -la /var/lib/postgresql什么?
塞勒姆2014年

@salem-目录实际上丢失了(请参见上面的编辑)。全新安装后,这很奇怪。
tobias47n9e 2014年

1
很奇怪...您可以再次将其删除(apt-get purge postgresql-9.3),安装并发布输出apt-get install postgresql-9.3吗?那里可能有任何线索。还要检查您是否可以从获得任何相关信息/var/log/postgresql/postgresql-9.3-main.log
塞勒姆

@salem-最后几行看起来不太好。
tobias47n9e 2014年

Answers:


29

注意:我假设您那里没有任何重要数据,或者您已对其进行了一些备份。如果不是这种情况,则应在执行任何操作之前创建数据备份!

似乎由于某种原因,它并未在安装时创建所需的用户。您可以尝试手动创建它,然后看看它如何进行:

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

之后,运行apt先前建议的命令:

$ sudo pg_createcluster 9.3 main --start
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.