Problme: Daten auf externer HDD speichern

Hi all,

ich versuche meine Daten auf einer externen HDD zu speichern und krieg es nicht geregelt. Da ich alle Daten extern halten will starte ich kein zweites Cluster, sondern will “einfach” /var/lib/postgresql auf die HDD verschieben.

Schritte:

  1. Installation von PostgreSQL v9.4 - [OK]
  2. Testweise Starten/stoppen des Servers via “sudo service postgresql start/stop” - [OK]
  3. Stoppe server - [OK]
  4. Kopiere /var/lib/postgresql nach /media/Daten/postgres-daten - [OK]
  5. Erstelle symlink mit “ln -s /media/Daten/postgres-daten/postgresql /var/lib/postgresql” - [OK]
  6. Starte Server:
Error: could not exec /usr/lib/postgresql/9.4/bin/pg_ctl /usr/lib/postgresql/9.4/bin/pg_ctl start -D /var/lib/postgresql/9.4/main -l /var/log/postgresql/postgresql-9.4-main.log -s -o  -c config_file="/etc/postgresql/9.4/main/postgresql.conf" :

Das log-file ist leer und ich begreif es nicht. Hab alle permissions gecheckt: Verzeichniss postgrres-daten gehoert user ‘postgres’ und ist auf chmod 755, so wie alle Unterverzichnisse, ausser /9.4/main, welches auf 700 steht. Die Platte selbst ist unter meinem user mit 755 gemountet. Da aber die Unterverzeichnisse fuer user ‘postgres’ schreibbar sind, ist auch das geregelt.
Wenn ich den symlink loesche und das Verzeichnis von der HDD wieder nach /var/lib kopiere started der Server wieder normal.
Jemand eine rettende Idee?
Lowry

Was kommt denn bei der Fehlermeldung nach dem Doppelpunkt?
Eigentlich sollte das mit dem Symlink funktionieren, ich benutze das, um nicht bei jeden Upgrade alle Variablen und Skripte anpassen zu müssen.
Gruß Uwe

schau bitte, ob das dann unter dem Symlink auch so aussieht wie vorher, ob die Rechte da stimmen und was ist da für ein Filesystem drauf? Nicht das da FAT oder sowas ist, das wird dann nix.

Du kannst übrigends auch mit einem Tablespace arbeiten, das nur als Hinweis.

Was kommt denn bei der Fehlermeldung nach dem Doppelpunkt?

Das ist leider die gesamte Meldung, also nach dem Doppelpunkt nur ein Leerzeichen, Ende. Und im Log ist auch nuescht …


schau bitte, ob das dann unter dem Symlink auch so aussieht wie vorher, ob die Rechte da stimmen und was ist da für ein Filesystem drauf? Nicht das da FAT oder sowas ist, das wird dann nix.

Filesystem ist Ext4. Werd es jetzt nochmal ueberpruefen, nur zur Sicherheit, aber ausgehend von den vorherigen Checks sag ich jetzt mal, dass alles so ist, wie es sein soll: Ordner postgresql + Unterverzeichnisse sind Owner und Gruppe postgres, Zugriffsrechte 755, bis auf den main-Ordner, der ist 700.


Du kannst übrigends auch mit einem Tablespace arbeiten, das nur als Hinweis.

Irgendwo hab ich gelesen, dass tablespace bei externen HDDs nicht angebracht ist und eventuell zu Datenverlust fuehrt.
Anyways, werd jetzt noch ein wenig rumsuchen und falls ich den Fehler nicht finde, werd ich wieder nen separates Cluster auf der HD erstellen und den main Ordner auf der boot-partition lassen.

Lowry

… ich wette, dass es wieder nen absolut offensichtlicher und simpler Fehler ist und ich nur wieder die Augen nicht richtig auf mache …

Alright, thread closed!

Fuer die, die den gleichen Fehler machen wie ich: Ubuntu 14.04 mounted Festplatten/devices nicht unter /media/<LAUFWERK_NAME> sonder unter /media//<LAUFWERK_NAME>. Das USER Verzeichniss wird zusaetzlich auf 750 gesetzt, wodurch postgres natuerlich keinen Zugriff hat … 755 ist die Loesung :slight_smile:

Danke fuer die Hilfe, nu scheint’s zu laufen
Lowry