Starting PostgreSQL server, postgres user unknown
I am trying to start a PostgreSQL server (9.3) on Ubuntu 14.04. I am following this standard tutorial: https://help.ubuntu.com/community/PostgreSQL
After updating to from 13.10 to 14.04 I purged the PostgreSQL installation because of a variety of difficulties I had inside pgadmin after the update.
Using this command after the fresh install:
sudo -u postgres psql postgres
returns:
sudo: unknown user: postgres
sudo: rule-plugin could not be initialized
I couldn't find any solution to this, but I have to admit I only use postgresql to house my GIS-databases and I am pretty overwhelmed since encountering all these problems.
Edit:
Output of ls -la /var/lib/postgresql is "Can't access /var/lib/postgresql: File or directory not found" (translated from German)
Edit 2 (purged and reinstalled):
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"
Solution 1:
NOTE: I am assuming you don't have any important data there or you have some backup of it. If that's not the case before doing anything you should create a backup of your data!
It seems that, for some reason, it is not creating the required user while installing. You can try to create it manually and see how it goes:
$ sudo useradd -U -s /bin/bash postgres
After that run the command apt
suggested previously:
$ sudo pg_createcluster 9.3 main --start