2016-08-17 3 views
2

Ich habe eine Webanwendung Abfrage einer Postgresql-Datenbank (erfolgreich), und ich bin auf der Suche nach den Datenordner von Speicherort /var/lib/postgres/9.3/main an einen anpassbaren Speicherort verschieben.Verschieben Postgres Datenordner auf Ubuntu

Momentan bin ich daran gehindert, den Ordner aufgrund von Berechtigungsfehlern sogar zu kopieren, aber ich kann mir die Berechtigungen nicht zuweisen, weil das den Postgres-Server zerstört.

(brach ich den Server von sudo chown <username> -R /var/lib/postgres/9.3/main ausgeführt -, die als Befehl gearbeitet, aber den Postgres-Server funktioniert nicht mehr)

Ich würde einfach einen neuen Ordner erstellen und die Lage dort ändern, aber ich werde die aktuelle verlieren Instanz meiner Datenbank, wenn das getan wurde.

Wie kann ich den aktuellen Ordner an einen neuen Speicherort verschieben, sodass ich in der Datei .conf darauf zeigen kann? Ich muss den Ordner explizit verschieben, ich kann keine neue DB erstellen.

+0

Warum Sie sie verschieben müssen? ist wahrscheinlich die Daten dir bewegen eine falsche Antwort auf Ihre Frage – frlan

+0

@frlan meines Web-App ist Da ich von einer Linux-VM laufe und sie von einem Windows-Rechner über eine IP abfrage, möchte ich die Daten lieber in einen freigegebenen Ordner auf der Windows-Maschine legen und stattdessen eine Light (er) VM haben als eine 300GB-Instanz von Linux, die nur verwendet wird a s ein Webserver. –

+0

@frlan glauben Sie mir Ich weiß, dass das Verschieben der Daten falsch ist, aber es hat Wochen gedauert, um meine Daten in den aktuellen Zustand zu bringen, in dem sie sich befindet, ich kann diesen Prozess nicht neu starten. –

Antwort

0
  • Sie können einfach kopieren oder das Verzeichnis verschieben, einschließlich aller subdirs und Dateien cp -rp oder mv sollte dafür ausreichen.
  • Postgres muss nicht ausgeführt werden, während Sie mit den Dateien
  • Die Basis der Daten-drectory (PG_DATA) sind Messing von Postgres muss im Besitz und Dateimodus 0700 haben. (Wenn nicht: pg wird sich weigern zu starten)
  • [den Rest der Dateien muss mindestens lesbar/writeble von Postgres]
  • der neue Standort auch für den Startprozess bekannt sein müssen (in /etc/init.d/ und (möglicherweise) in der postgres.conf Datei im Datenverzeichnis. (für die Protokolldatei)
Verwandte Themen