Hallo,
ich möchte aus einem PHP-Skript herraus ein DB-Dump einer Postgres (v.8 ) Datenbank machen. Für den Zugriff auf die DB sind Benutzername und Passwort erforderlich. Ich denke, dass ich es grob so machen werde, dass ich den pg_dump Befehl über den system Aufruf in PHP absetzen werde. Selbiges habe ich auch für den Restore geplant.
Dabei ist mir jedoch noch nicht ganz klar wie ich hier das Passwort für den Zugang unterbringe. Bisher habe ich die Dumps über Kommandozeile ausgeführt und dabei das Passwort nach dem Aufruf von pg_dump eingeben müssen.
Die Datenbank läuft auf einem Windows XP Server, mit Apache 2 und PHP4.
Hat jemand dazu eine Idee ? Geht das ganze überhaupt aus einem PHP-Skript herraus ?
Bin für Tips dankbar !
Grüßle
Ernst
Ankündigung
Einklappen
Keine Ankündigung bisher.
Postgres Datenbank Dump und Restore aus PHP Skript
Einklappen
Neue Werbung 2019
Einklappen
X
-
Postgres Datenbank Dump und Restore aus PHP Skript
Stichworte: -
-
Ein Gast antworteteSo gehts:
Hi,
für alle die es interessiert hier meine Lösung:
Code:$pg_dump = 'path1\pg_dump.exe'; $dump_file = 'path2\dump.sql'; $db_user = 'username'; $db_pass = 'password'; $db_dbname = 'dbname'; putenv('PGPASSWORD=' . $db_pass); putenv('PGUSER=' . $db_user); system($pg_dump.' '.$db_dbname.' > '.$dump_file);
Grüßle
Ernst
-
Ein Gast antworteteDanke für die Antworten, aber das Thema hat sich erledigt.
Ich habe es selber hin bekommen:
pg_dump oder pg_restore mit dem system Befehlt in PHP aufgerufen und vorher mit putenv die Umgebungsvariablen für den DB-Username und Passwort definiert. Läuft einwandfrei.
Grüßle
Ernst
Einen Kommentar schreiben:
-
Mit system() garantiert nicht. Mit popen() vielleicht, mit ssh geht es AFAIK nicht, weil das die Tastenanschläge direkt abgreift und nicht auf stdin lauscht.
Einen Kommentar schreiben:
-
Ein Gast antwortetesystem(); ?
Einen Kommentar schreiben:
Einen Kommentar schreiben: