PostgreSQL 8 Backup

Hallo zusammen…

Was ist der Beste uns sicherste Weg PostgreSQL Datenbanken beim Kunden jeden Abend auf das Backupsystem zu saven (Windows Installation)? pg_dump?

Ich habe versucht über eine bat Datei automatisch einen Dump zu erstellen und diese dann in einen Task einzubauen, welcher automatisch jeden Abend ausgeführt wird.

pg_dump.exe db1 -f c:\temp\db1.tar -F t -h localhost -U postgres

Jedoch braucht er für diese Version jedes Mal das Passwort, welches ich über die Batch Datei nicht mitgeben kann. Einzige Variante über eine passwort.txt, welche das Passwort beinhaltet.

pg_dump.exe db1 -f c:\temp\db1.tar -F t -h localhost -U postgres < passwort.txt

Gibt es eine bessere Lösung? Wie zieht man ein Professionelles Backup unter Windows auf?

Danke für eure Antworten…
Raphi

Hallo Raphi,

diese Befehlszeile hast du getestet und die funktioniert bei Dir?

Bei mir funktioniert das auch ohne Passwort. Auf Deine Antwort bin ich gespannt.



mfg

fristo

Hallo Raphi,

was mich jetzt doch noch interessiert (hat nichts mit Deiner Frage zu tun): Wie stellst Du sicher, dass während der Zeit des Backups kein User auf die Datenbank zugreift?



mfg

fristo

Hi Fristo…

Das Problem ist, dass ich nur mit dem Postges User ein pg_dump machen kann. Bei mir kommt dann immer die PW Aufforderung. Wie umgehst du diese?

Beim pg_dump machen die Transaktionen der User auf der DB kein Problem, oder? Somit läuft der Dump immer sauber durch…

Hast du eine andere Idee eine Postgres unter Windows ins Backup aufzunehmen?

Merci und Gruss

Hallo Raphi,

kanst Dir ja das nachfolgede CMD-Script anpassen. Es funktioniert!

@echo off

        set CODEPAGE_DOS=850
        set CODEPAGE_WIN=1252#


REM     ========================================================================


        set DIR_CMD=???-DIRECTORY OF POSTGRESQL BIN-???

        set CMD_PSQL=%DIR_CMD%\psql.exe
        set CMD_DUMP=%DIR_CMD%\pg_dump.exe
        set CMD_DUMP_ALL=%DIR_CMD%\pg_dumpall.exe


REM     ========================================================================


        set PGHOST=???-HOST-???
        set PGDATABASE=???-DATABASE-???
        set PGUSER=???-USER-???
        set PGPASSWORD=???-PASSWORD-???
        set PGPORT=???-PORT-???

        set PGCODING=???-CODING-???


REM     ========================================================================


        set DST_PATH=%~dp0\Data


REM     ========================================================================


        echo.%~n0
        echo.
        echo.
        echo.Bachup Directory: %DST_PATH%
        echo.


REM     ========================================================================


        set DST_FILE=Backup_Database_%PGDATABASE%.tar

        %CMD_DUMP% %PGDATABASE% -Ft > "%DST_PATH%\%DST_FILE%"

        echo.Backup created: %DST_FILE%
        echo.


REM     ========================================================================

mfg

fristo

Genau das hab ich gesucht und es funktioniert!!!

Danke viel Mals…