Guten Morgen zusammen,
ich würde etwas Hilfe benötigen, da ich leider nicht sonderlich erfahren bin.
Aktuell nutze ich ein Skript eines Vorgängers was ich gefunden habe.
Dieses generiert ein “Fullbackup” der Datenbank.
Da ich eine fixe Struktur habe die nie abweicht, würde ich gerne das Skript so abändern, das ich nur bestimmte Tabellen sicher.
Aktuell sieht der Skriptcode so aus:
@echo off
cd /d "%~dp0"
setlocal ENABLEEXTENSIONS
for /f "delims=" %%A in ('reg query "HKLM\Software\PostgreSQL\Installations"') do (
set PSQLRegFolder=%%A
)
rem set PSQLRegFolder=HKEY_LOCAL_MACHINE\Software\PostgreSQL\Installations\postgresql-x64-9.4
for /f "usebackq skip=2 tokens=1* delims=" %%A in (`reg query %PSQLRegFolder% /v "Base Directory" 2^>nul`) do (
set PSQLDir=%%A
)
set PSQLDir=%PSQLDir:~32%
set tstamp=
for /f "skip=1 delims=" %%x in ('wmic os get LocalDateTime') do if not defined tstamp set tstamp=%%x
set month=%tstamp:~4,2%
set day=%tstamp:~6,2%
set year=%tstamp:~0,4%
set datestr=%year%-%month%-%day%
set BACKUP_FILE=_%datestr%.backup.sql
set PGPASSWORD=XXXXXXX
echo creating backup from database "esl"...
"%PSQLDir%\bin\pg_dump.exe" -h localhost -p 5432 -U postgres --if-exists -o -c -f %BACKUP_FILE% esl
echo backup file name is %BACKUP_FILE%
pause
Meine Frage ist nun: wenn ich nur 4 bestimmte Tabellen sichern möchte, wie kann ich mehrere Parameter angeben?
Das was ich online gefunden habe würde in folgende Richtung gehen:
pg_dump.exe -U postgres --data-only --table=table1 esl > MyBackupTable1.pg
Naiverweise habe ich gedacht ich kann
"%PSQLDir%\bin\pg_dump.exe" -h localhost -p 5432 -U postgres --if-exists -o -c -f %BACKUP_FILE% esl
einfach mit
pg_dump.exe -U postgres --data-only --table=table1 esl > MyBackupTable.pg
pg_dump.exe -U postgres --data-only --table=table2 esl > MyBackupTable.pg
etc. ersetzen.
Genial wäre es, wenn ich einfach ein “Fullbackup” ziehe und über ein Skript bestimmen könnte welche tables nun genau importiert werden sollen.
Leider bin ich dort schnell durcheinander gekommen da es ja einige formate gibt die nur unter gewissen parameters miteinander harmonieren.
(.pg / .backup / .sql | psql/pg_restore etc. )
Ich hoffe ich konnte mit einigermaßen verständlich ausdrücken .
Ich nutze PostgreSQL 9.4 auf einem Windows 7 PC.
Vielen dank im voraus !