[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT]Re: Backup von einer postgreSQL mit 80 GByte?



Hallo Peter, 

Am 22:07 2003-02-02 +0100 hat Peter Jenke geschrieben:

>Wenn das Skript, dass _modifiziert_ ausliest, abgearbeitet ist, sollten
>die Daten in einer Datei stehen. Erst dann kann die Tabelle geleert
>werden.

Das hatte ich so verstanden. 

>Sollte die Kiste beim Auslesen abstürzen, geht's nach dem Neustart mit
>der unveränderten Tabelle von vorn los (Fall 1); nach dem Auslesen sind
>die Daten in der Datei fixiert, dann interessiert der Tabelleninhalt für
>diese Sicherung nicht mehr (Fall 2).

Gut, das waehre auf alle faelle sicher.
Ausserdem kann man ja cron so einrichten, das es wenn es, z.B., 
zwischen 01:00 und 05:00 zu einem Absturz kommt, das backup neu startet. 

>Sollte Michelle vermeiden, dass im zweiten Fall u.U. neue Einträge in
>die Tabelle gelangen, bevor sie gelöscht wird?
>Na ja: Eine Tabelle, die vor dem Absturz modifiziert wurde, würde
>nochmal gesichert. Wenn sie nach dem Absturz nicht mehr verändert wird,
>kommt sie nochmal ins Backup, was nicht schadet, sondern nur Platz
>wegnimmt. Wird sie verändert, vermerkt das Skript sie ohnehin als zu
>sichernd.

OK

>Das heisst: Nach 'nem Absturz kann sie so bleiben, wie sie ist - Leeren
>erst bei der nächsten Sicherung.
>Hab' ich was übersehen?
>Mir scheint, als ob eine Tabelle reicht.

Das sehe ich auch so. 

>Besser wär's, stattdessen mit Funktionen zu arbeiten (das kann
>PostgreSQL). Es gibt ausserdem in PostgreSQL die Möglichkeit, Ereignisse
>mit NOTIFY und LISTEN zu überwachen (wenn die Tabelle xyz verändert
>wird, bekommt der LISTENER automatisch eine Nachricht).

Habe gerade noch mal in meinem Buch nachspioniert... 
Bist Du sicher, das es NOTIFY und LISTEN bei postgresql gibt ? 

Ich finde im ganzen (O'Reilly)Buch nichts darueber. 

>Und schliesslich bietet PostgreSQL Transaktionen an - damit lassen sich
>die Eventualitäten beim Rechnerbetrieb ganz gut regulieren.
>Ich denke, dass PostgreSQL so zu betreiben ist, dass auch das Backup vom
>Datenbanksystem selbst erledigt wird.

Das geht mit Oracle... Nur ist die zu schwerfaellig. 

>Aber: Die Datenbank läuft bei Michelle schon; ob es möglich ist, sie so
>umzubauen, dass der Workaround nicht gebraucht wird, kann ich nicht
>beurteilen, deswegen habe ich nichts anderes vorgeschlagen.

Hmmm, ich habe jede einzelne Tabell aus der MS-Access sql.mdb mit 
einem Macro extrahiert, weil ich keine Verbindung aufbauen konnte. 

Danach habe ich auf meiner Linuxkiste einfach eine neue Datenbamk 
angelegt und die Tabellen einfach mit dem gleichen Namen hineinkopiert. 

Wenns sein muss, mach ich das ganze noch ein weiteres mal. 

Danach einige Funktionen neu angelegt und die Datenbank funktionierte. 

Hmmm, die Tabelle ist ja wie ein Eintrag im Duden. Ein stichwort und 
dazu die Erklaerung, die wiederum aus anderen Stichwoerten bestehen 
kann und objecten wie Binaries, Weitere Tabellen und aehnlichem. 

Habe mal einen etwas groesseren Eintrag ueber den Iran geschnappt, 
die Querverweise geschnappt und die Daten (Tabellen) als plain/text 
extrahiert. 

Dann auf meiner Workstetion eine datenbank 'iran' angelegt und alle 
Tabellen wieder hineinkopiert. 

Und siehe, sie funktioniert... 

Da Binaries (jpeg, doc, wav, mp3) auf einem seperaten binary-server 
liegen, funktionieren sogar die Links auf dieselbigen. 

Die Frage ist nun, habe ich meine Datenbank, die eigentlich alles 
andere als komplex ist, richtig angelegt ? 

Also fuer jedes 'ereignis' wird eine Tabelle angelegt. 
Sollten, z.B., Personen zu diesem ereignis gehoeren, wird fuer 
diese Person ebenfals eine Tabelle angelegt und ein Verweis von 
der Ereignis-Tabelle auf die Person-Tabelle gemacht. 

Sollte die Person bereits in der db sein, wird ledigliche ein 
Verweis eingefuegt. 

Das ist also eine ganz einfache Datenbank. 

Die Arbeit ist eigentlich nur dann vorhanden, wenn ein neues 'ereignis' 
hinzugefuegt werden und ueberprueft werden muss, ob es schon vorhanden 
ist und ob andere ereignisse correspondieren... 

Die Frage ist nun, brauche ich bei einem Backup wirklich soviele 
Kopfstaende oder habe ich da was uebersehen ??? 

Derzeit arbeite ich mit c- und php-cgi's die die arbeit machen, aber 
kann ich sowas auch mit postgresql machen ? Unter M$-Access habe ich 
halt macros programmiert aber ich habe noch so gewisse Probleme mit 
postgresql... 

P.S.:   Sowas aehnliches hatte ich schon vor sehr vielen Zahren unter 
        DOS, wo fuer jede Tabelle eine Datei angelgt wurde... 
        (hat auch funktioniert, nur die Suchfunktionene ueber 2-5000 
        Dateien waren nicht gerade comfortabel und performant)

>(Nicht als Rüffel verstehen, Marc!)

>Gruss
>
>Peter

Danke
Michelle



Reply to: