Datenbank auslagern

Hallo Postgres- Gemeinde!

Bei mir läuft PostgreSQL 9.1 auf einer Raspberry Pi Plattform, und hätte nicht gedacht, das die DB selbst mit so kleinen Ressourcen noch so schnell arbeitet. :smiley:

Das Problem was ich nun aber habe, der Speicherplatz der SD- Karte wird langsam knapp und ich würde die Datenbank gerne auf eine externe Festplatte auslagern.
Wie bzw. wo stelle ich das ein?

Gruß, Micha122

Die Platte läuft an dem selben Rechner? Du könntest da einen neuen Tablespace einrichten und dann via alter datbase set tablespace (Syntax bitte nachschlagen!) die DB dahin verschieben.

Hallo akretschmer,
danke für die schnelle Antwort!
Ja, die Platte läuft am selben Rechner.
Hört sich für mich ziemlich kompliziert an, muss aber auch erwähnen, das ich noch Anfänger bin.
Lässt sich das ganze nicht mit pgAdmin III bewerkstelligen?

Nachtrag:
Um einen neuen tablespace anzulegen habe ich diesen Befehl gefunden:

CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data';

Was ist aber mit diesen Verzeichnissen “postgresql/data’”, muss ich die anlegen?
Oder würde als Pfad auch z.B. /media/INTENSO gehen?

Du legst z.B. /mnt/sda1/postgresql/data an, setzt Owner und Group auf postgres, nur dieser darf drin lesen & schreiben (700) auf den Ordner. Dann legst Du mit dem Befehl das in PG an. Zum schluß “ALTER DATABASE name SET TABLESPACE fastspace”. Wenn man nicht gerade völlig behindert ist schafft man das auch als Anfänger :wink:

Na, zum Glück bin ich nicht behindert und auch nicht sensibel. :sunglasses:

Hat prima funktioniert, Danke! :slight_smile:

Aufgefallen ist mir jedoch, das alle Daten vom Tablespace pg_default nicht mehr erreichbar sind. Ist in meinem Fall jetzt nicht schlimm, aber irgendwann ist jede Platte mal voll.
Was machen die Profis, wenn sie Ihre alten Daten nicht verlieren möchten?

Ein Backup? ;-D

Ich meinte eher die alten Daten weiterbenutzen und nicht sichern.
Hab mich da vielleicht ein bisschen falsch ausgedrückt. :astonished: