postgreSQL portable

Hallo zusammen,

ich habe im Moment PosqtgreSQL (Version 8.1) auf der Windowsmaschine entsprechend meine Anforderungen eingerichtet. Die Datenbank wurde auf dem lokalen Rechner installiert. Jetzt möchte ich gerne folgendes anstellen:

Ich möchte die PostgreSQL Datenbank nicht nur auf lokalen Rechner verwenden, sondern portable gestallten und die Umgebung über USB- Stick mitnehmen können.

Geht es und wenn ja dann wie? Kann ich denn meine eingerichtet Datenbank (PostgreSQL) von dem installierten Pfad ausschneiden und in das entsprechende Pfad einfügen? Dann muss die Datenbank aber manuell gestartet werden, oder?

Also ich verwende auch die MySQL Datenbank für die Arbeit. Diese habe ich portable eingerichtet. Es existiert eine Startdatei mit der die Datenbank MySQL gestartet wird. Die Anweisung sieht wie folgt aus:
mysql\bin\mysqld --defaults-file=mysql\bin\my.cnf --standalone –console

Kann die PostgreSQL Datenbank entsprechend MySQL eingerichtet werden? Ich bin für jeden Ratschlag dankbar!

Gruß
Andy

Diese Frage wurde hier vor kurzem schon einmal gestellt, jemand hat versucht, PostgreSQL auf einer CD zu installieren.

Such dir doch mal den Thread heraus, vielleicht gibt es da brauchbare Antworten für dich.

CD != USB-Stick.

Ich überleg schon die ganze Zeit, ob nicht mal jemand im Channel über eine USB-Stick - Lösung sprach.

Andreas

Hallo Andy_,

zu diesem Thema gibt es im englischem Forum einen interessanten Beitrag: http://archives.postgresql.org/sfpug/2006-09/msg00005.php.



mfg

fristo

Hallo,

vielen Dank zuerst für die Antwort.

Es sollte eigentlich ähnlich funktionieren wie hier beschrieben: http://www.pg-forum.de/showthread.php?t=1033 Schade nur, dass das Thema nicht ausführlich behandelt wurde.

Ich habe mir als erstes vorgenommen den Postmaster manuell zu startet bzw. stoppen.
Den Dienst kriege ich wie folgt gestoppt:

pg_ctl stopp –w –D E:\programme\postgresql\8.1\data

Wenn ich den Postmaster aber wie aus der Datei postmaster.opts startet möchte, wie folgt:

E:/Programme/PostgreSQL/8.1/bin/postmaster -D E:/Programme/PostgreSQL/8.1/data

Erscheint die Fehlermeldung über die Zugriffrechten:

Execution of PostgreSQL by a user with admenistrative permission is not permitted.

Ich möchte den PostgreSQL manuell starten/stoppen, damit ich anschließend den gesamten Ordner E:/Programme/PosgreSQL umkopieren kann. Wie kriege ich den Postmaster wieder gestartet?

Geht es überhaupt, dass PostgreSQL auf einem USB- Stick läuft ohne vorher auf dem Rechner ein Benutzer anzulegen? Im Moment läuft bei mir der PostgreSQL unter den Benutzer postgres.

Gruß
Andreas

Unter *NIX tut der auch unter postgres, und ja, du wirst diesen User erstellen müssen, da IIRC nach Start auf diesen User gewechselt wird. Ist halt ein, historisch gesehen, *NIX-Programm, wo nicht alles als root laufen muß, nur manchmal initial, um z.B. Ports zu öffen. Aufgrund der Tatsache, daß es unter einem eigenen, mit weniger Rechten versehenen User läuft, kann es im Schadensfall auch weniger kapott machen. Wowereit.

Andreas