]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/de/catalog/postgresql.tex
Reset everything to English
[bacula/docs] / docs / manuals / de / catalog / postgresql.tex
diff --git a/docs/manuals/de/catalog/postgresql.tex b/docs/manuals/de/catalog/postgresql.tex
deleted file mode 100644 (file)
index b5ac678..0000000
+++ /dev/null
@@ -1,459 +0,0 @@
-%%
-%%
-
-\chapter{PostgreSQL Installation und Konfiguration}
-\label{PostgreSqlChapter}
-\index[general]{PostgreSQL!Installation und Konfiguration }
-\index[general]{PostgreSQL Installation und Konfiguration }
-\index[general]{Update}
-
-Wenn Sie sich dazu entschlie{\ss}en PostgreSQL zu verwenden,
-sollten Sie sich \"{u}ber den Aufwand, den ein Datenbank-Update
-mit sich bringt, im Klaren sein. Grunds\"{a}tzlich werden Sie bei
-jeder neuen Hauptversion von PostgreSQL Ihre alte Datenbank
-exportieren m\"{u}ssen, um sie dann in die neue Version einzupflegen.
-Das wird dadurch erforderlich, dass sich regelm\"{a}{\ss}ig 
-einige internen "`Datenformate"' \"{a}ndern und von den
-PostgreSQL-Entwicklern keine Tools zu Verf\"{u}gung gestellt
-werden, um den Update-Vorgang zu automatisieren. Falls Sie den
-Daten-Ex- und -Import vergessen sollten, kann es sein das Sie
-auf die Datenbank nicht mehr zugreifen k\"{o}nnen, da die neue
-PostgreSQL-Version nicht mit den alten Datenbank-Dateien
-zusammenarbeitet.
-
-Sollten Sie PostgreSQL aus dem Quelltext selbst
-kompilieren, m\"{u}ssen Sie dem configure-Kommando die
-Option {\bf \verb:--:enable-thread-safety} \"{u}bergeben.
-
-\section{PostgreSQL Installation}
-\index[general]{PostgreSQL!Installation }
-Wenn Sie bei der Konfiguration des Bacula-Quelltextes {\bf ./configure
-\verb:--:with-postgresql=PostgreSQL-Verzeichnis} angeben, m\"{u}ssen Sie
-PostgreSQL mindestens in Version 7.4 installiert haben. \"{A}ltere
-PostgreSQL-Versionen funktionieren mit Bacula nicht. Falls PostgreSQL
-in einem Standard-Verzeichnis installiert ist, brauchen Sie das
-"`PostgreSQL-Verzeichnis"' nicht angeben. Wenn es aber zum Beispiel in
-Ihrem Home-Verzeichnis installiert ist, m\"{u}ssen Sie den kompletten
-Pfad angeben.
-
-Die Konfiguration und Installation von PostgreSQL ist zwar nicht sehr
-schwer, kann aber beim ersten Mal etwas verwirrend sein. Wenn Sie es vorziehen,
-k\"{o}nnen Sie PostgreSQL auch \"{u}ber die Paket-Verwaltung Ihres Betriebssystems
-installieren. Vorkompilierte Pakete finden Sie auf www.postgresql.org
-unter \elink{Downloads}{http://www.postgresql.org/download/}
-
-Wenn Sie PostgreSQL lieber aus dem Quelltext selbst kompilieren m\"{o}chten,
-empfehlen wir Ihnen den Anweisungen in der \elink{PostgreSQL
-Dokumentation}{http://www.postgresql.org/docs/} zu folgen.
-
-Benutzer von FreeBSD finden in diesem \elink{FreeBSD Diary
-Artikel}{http://www.freebsddiary.org/postgresql.php} weitere n\"{u}tzliche
-Informationen. Selbstverst\"{a}ndlich enth\"{a}lt der Artikel auch f\"{u}r
-Nicht-FreeBSD-Benutzer wissenswertes bez\"{u}glich der Installation und
-Konfiguration von PostgreSQL
-
-Falls Sie die Bacula "`Batch-Insert"'-Funktion benutzen wollen, die
-standardm\"{a}{\ss}ig aktiviert ist und f\"{u}r eine schnelle Verarbeitung
-der Attribute der gesicherten Datein sorgt, m\"{u}ssen Sie unbedingt darauf
-achten, dass PostgreSQL mit der Option {\bf \verb:--:enable-thread-safety}
-kompiliert wurde. Bei den meisten gro{\ss}en Linux-Distributionen ist das
-der Fall. Aber falls Sie nicht sichert sind k\"{o}nnen Sie mit folgendem
-Kommando feststellen, ob Ihr PostgreSQL gegen die pthreads-Bibliothek
-gelinked ist:
-
-\footnotesize
-\begin{alltt}
-  nm /usr/lib/libpq.a | grep pthread_mutex_lock
-\end{alltt}
-\normalsize
-
-Die Kommandos m\"{u}ssen in etwa eine Zeile wie diese zur\"{u}ckgeben:
-
-\footnotesize
-\begin{alltt}
-         U pthread_mutex_lock
-\end{alltt}
-\normalsize
-
-wenn das der Fall ist, ist alles in Ordnung. Wenn keine Zeilen zur\"{u}ckgegeben
-werden, wird Bacula beim kompilieren die "`Batch-Insert"`-Funktion deaktivieren.
-Wenn Sie sie trotzdem benutzen wollen, m\"{u}ssen Sie PostgreSQL mit der Option
-\verb:--:enable-thread-safety neu kompilieren.
-
-Nach der PostgreSQL-Installation fahren Sie bitte mit der Installation von Bacula
-fort. Sp\"{a}ter wenn Sie diese abgeschlossen haben, lesen Sie hier weiter, um
-die Konfiguration von PostgreSQL zu beenden. Bitte beachten Sie, dass einige
-Schritte im weiteren Verlauf der PostgreSQL-Konfiguration Scripte ben\"{o}tigen,
-die erst bei der Installation von Bacula erstellt werden. Auch wenn Sie f\"{u}r
-die Installation von PostgreSQL vorkompilierte Pakete verwendet haben (zum
-Beispiel rpm oder deb) m\"{u}ssen Sie sp\"{a}ter hier weitermachen, um die
-Konfiguration von PostgreSQL zu vervollst\"{a}ndigen.
-
-Bitte beachten Sie, dass Sie das Installationsverzeichnis von PostgreSQL,
-das Sie mit der Option {\bf \verb:--:with-postgresql=PostgreSQL-Verzeichnis}
-dem configure-Script \"{u}bergeben haben, auch bei der Konfiguration des
-Bacula-Quelltextes mit {\bf \verb:--:with-postgresql=PostgreSQL-Verzeichnis}
-angeben m\"{u}ssen. Die einzige Ausnahme ist, dass Sie kein spezielles
-Verzeichnis angegeben haben und PostgreSQL somit in den Standard-Verzeichnissen
-installiert ist. In diesem Fall findet das configure-Script von Bacula
-die PostgreSQL Header und Bibliotheken auch ohne explizite Angabe des Verzeichnisses.
-
-\label{PostgreSQL Konfiguration}
-\section{Konfiguration PostgreSQL}
-\index[general]{PostgreSQL!Konfiguration PostgreSQL}
-
-An diesem Punkt sollten Sie PostgreSQL und Bacula
-kompiliert und installiert haben. Falls nicht,
-schlie{\ss}en Sie bitte diese beiden Schritte erst ab,
-bevor Sie hier weitermachen.
-
-Bei der Installation von Bacula werden mehrere Scripte in das
-Installations-Verzeichnis kopiert, mit denen Sie verschiedene
-\"{A}nderungen an der Datenbank durchf\"{u}hren k\"{o}nnen.
-Diese Scripte haben Namen im Format *\_bacula\_*
-(z.B. create\_bacula\_database)und dienen dazu die Datenbank
-zu initialisieren, zu aktualisieren oder zu l\"{o}schen.
-Diese Scripte sind auch im Bacula-Quelltext-Verzeichnis, nach
-der Ausf\"{u}hrung des "`./configure"'-Scripts, unter
-\lt{}bacula-src\gt{}/src/cats zu finden. Wenn Sie sich, zum
-Beispiel, das Script create\_bacula\_database n\"{a}her ansehen
-werden Sie merken, dass dieses Script einfach nur
-create\_postgresql\_database ausf\"{u}hrt. Alle Scripte die *\_bacula\_*
-heissen, dienen nur der Bequemlichkeit. Es spielt keine Rolle
-mit welcher Datenbank Sie den Bacula-Quelltext \"{u}bersetzt haben,
-das Script create\_bacula\_database wird immer die f\"{u}r Sie
-richtige Datenbank erstellen.
-
-Die folgenden Schritte sind n\"{o}tig um die PostgreSQL-Datenbank und Tabellen
-zu erstellen, die Bacula benutzt:
-
-\begin{enumerate}
-\item cd \lt{}Bacula-Installations-Verzeichnis\gt{}
-
-   In diesem Verzeichnis  finden Sie die Bacula-Datenbank-Scripte.
-
-\item ./create\_bacula\_database
-
-   Dieses Script erzeugt die Bacula-Katalog-Datenbank.
-   Bevor Sie dieses Script ausf\"{u}hren, sollten Sie sich \"{u}ber
-   die verwendete Kodierung der Text-Felder (Pfade, Dateien, ...)
-   innerhalb der Datenbank Gedanken machen. Idealerweise wird UTF8 verwendet.
-   Allerdings sind bei vielen Unix-Systeme die Dateinamen nicht in UTF8 kodiert,
-   weil eventuell UTF8 auf diesen Systemen nicht als Standard-Kodierung gesetzt ist,
-   oder weil Dateien von anderen Systemen (z.B. MacOS X) kopiert worden sind.
-   Aus diesem Grund verwendet Bacula SQL\_ASCII als Datenbank-Kodierung.
-   Wenn Sie das \"{a}ndern wollen, m\"{u}ssen Sie das Script vor der
-   Ausf\"{u}hrung entsprechend anpassen. Bedenken Sie dabei aber, dass
-   sp\"{a}tere Backups eventuell fehlschlagen, falls Bacula Dateien und
-   Verzeichnisse sichern soll, deren Namen nicht UTF8-kodiert sind.
-
-   Wenn die Ausf\"{u}hrung dieses Scripts fehlschl\"{a}gt kann es sein,
-   dass die Datenbank einem anderen Benutzer geh\"{o}rt als der, mit dem
-   Sie gerade angemeldet sind. Auf vielen Systemen ist der Datenbank-
-   Besitzer {\bf pgsql} oder, auf Fedora und RedHat {\bf postgres}.
-   Am leichtesten finden Sie den Namen des Besitzers in der /etc/passwd.
-   Um einen neuen Datenbank-Benutzer anzulegen, k\"{o}nnen Sie folgende
-   Kommandos ausf\"{u}hren:
-
-\begin{alltt}
-   su
-   (Eingabe des root-Passworts)
-   su pgsql (oder postgres)
-   createuser IhrLogin (oder beispielsweise bacula)
-   Shall the new user be allowed to create databases? (y/n) y
-   Shall the new user be allowed to create more new users? (y/n) n
-   exit
-\end{alltt}
-
-    Jetzt sollten Sie in der Lage sein das Script ./create\_bacula\_database
-    auszuf\"{u}hren.
-
-\item ./make\_bacula\_tables
-
-   Diese Script erstellt die von Bacula ben\"{o}tigten Tabellen.
-\item ./grant\_bacula\_privileges
-
-   Dieses Script erstellt den Datenbank-Benutzer "`bacula"', der nur begrenzte
-   Datenbank-Berechtigungen erh\"{a}lt. Eventuell wollen Sie das Ihrer Situation entsprechend
-   anpassen. Bitte beachten Sie auch, dass dem Datenbank-Benutzer bacula nicht
-   automatisch ein Passwort zugewiesen wird.
-
-\end{enumerate}
-
-Jedes dieser drei Scripte (create\_bacula\_database, make\_bacula\_tables und
-grant\_bacula\_privileges) erlaubt die Verwendung von Kommandozeilen-Parametern.
-Damit k\"{o}nnen Sie den Datenbank-Benutzernamen oder auch mit "`-h Rechnername"'
-einen Server angeben, auf dem die PostgreSQL-Instanz l\"{a}uft.
-
-Um sich anzusehen, was f\"{u}r Zugriffsrechte die Scripte vergeben haben,
-k\"{o}nnen Sie diese Kommando ausf\"{u}hren:
-
-\footnotesize
-\begin{alltt}
-PostgreSQL-Verzeichnis/bin/psql --command \\dp bacula
-\end{alltt}
-\normalsize
-
-Falls Autorisationsprobleme beim Zugriff auf die Datenbank auftreten,
-kann es helfen die Datei pg\_hba.conf (normalerweise in /etc/postgresql/)
-wie folgt anzupassen:
-
-\footnotesize
-\begin{alltt}
-  local   all    all        ident  sameuser
-to
-  local   all    all        trust  sameuser
-\end{alltt}
-\normalsize
-
-Dadurch k\"{o}nnen einige Probleme behoben werden. Allerdings ist das
-aus Sicherheitsbedenken kein sehr guter Ansatz, auch wenns es hilft
-ohne Passwort auf die Datenbank zuzugreifen.
-
-Ein besserer Weg ist es auf Passworter-Autorisierung umzustellen
-und dann bei jeden Datenbank-Login das vergebene Passwort zu benutzen.
-Dazu f\"{u}gen Sie vor den existierenden "`local"' und "`host"' Eintr\"{a}gen
-einfach die folgende Zeile ein:
-
-\footnotesize
-\begin{alltt}
-  local bacula bacula md5
-\end{alltt}
-\normalsize
-
-Danach ist es notwendig die PostgreSQL-Instanz neu zu starten oder
-"`pg\_ctl reload"' auszuf\"{u}hren, damit die neue Regel aktiviert wird.
-Als n\"{a}chstes muss noch ein Passwort f\"{u}r den Datenbank-Benutzer
-bacula vergeben werden. Wechseln Sie dazu den Benutzer (z.B. mit su - postgres)
-und f\"{u}hren Sie folgende Kommandos aus:
-
-\footnotesize
-\begin{alltt}
-  \$ psql bacula
-  bacula=# alter user bacula with password 'secret';
-  ALTER USER
-  bacula=# \\q
-\end{alltt}
-\normalsize
-
-Das vergebene Passwort m\"{u}ssen Sie an den folgenden Stellen in
-der Bacula-Konfiguration verwenden: einmal im Katalog-Eintrag
-der Bacula-Director-Konfiguration und im Job-Eintrag des BackupCatalog-Jobs
-bei dem RunBeforeJob-Kommando. Mit dem Passwort m\"{u}ssen diese
-beiden Zeilen dann in etwa so aussehen:
-
-\footnotesize
-\begin{alltt}
-  dbname = bacula; user = bacula; password = "secret"
-    ... und ...
-  # WARNING!!! Passing the password via the command line is insecure.
-  # see comments in make_catalog_backup for details.
-  RunBeforeJob = "/etc/make_catalog_backup bacula bacula secret"
-\end{alltt}
-\normalsize
-
-Nat\"{u}rlich sollte ein mehr zuf\"{a}lliges Passwort gew\"{a}hlt werden
-als in diesem Beispiel. Zudem sollte die Director-Konfiguratios-Datei bacula-dir.conf
-entsprechend gesichert werden, dass nicht alle Benutzer Zugriff darauf haben,
-sondern nur der Benutzer als der der Bacula-Director l\"{a}uft.
-
-Der Datenbank-Zugriff kann auch \"{u}ber die Datei .pgpass,
-im Home-Verzeichnis des entsprechenden Benutzer der Zugriff auf
-die Datenbank ben\"{o}tigt, gel\"{o}st werden.
-Dazu muss diese Datei folgendes enthalten:
-
-\footnotesize
-\begin{alltt}
-  localhost:5432:bacula:bacula:secret
-\end{alltt}
-\normalsize
-
-Danach kann diese Datei in die Home-Verzeichnisse aller Benutzer kopiert werden
-die Datenbank-Zugriff erhalten sollen (z.B. bacula, root und den Benutzern die
-\"{u}ber die Bacula-Console Zugriff haben sollen). Die Datei muss dem Benutzer
-und seiner Gruppe geh\"{o}ren, f\"{u}r root also "`root:root"' und die
-Zugriffsrechte m\"{u}ssen auf 600 (nur der Benutzer darf sie lesen) gesetzt sein.
-
-\section{Re-Initialisierung der Katalog-Datenbank}
-\index[general]{Datenbank!Re-Initialisierung der Katalog- }
-\index[general]{Re-Initialisierung der Katalog-Datenbank }
-
-Nachdem Sie einige anf\"{a}ngliche Tests mit Bacula gemacht haben, wollen
-Sie eventuell Ihre Katalog-Datenbank komplett leeren, um alle gelaufenen
-Test-Backups aus der Datenbank zu entfernen. Um das zu erreichen,
-tun Sie folgendes:
-
-\footnotesize
-\begin{alltt}
-  cd <install-directory>
-  ./drop_bacula_tables
-  ./make_bacula_tables
-\end{alltt}
-\normalsize
-
-Bitte bedenken Sie, dass dabei alle Informationen unwiderruflich
-aus der Datenbank gel\"{o}scht werden. Falls Sie auch beschriebene
-Volumes wiederverwenden wollen, m\"{u}ssen Sie das Volume-Label
-\"{u}berschreiben damit Bacula sie erneut benutzen kann.
-Das erreichen Sie durch:
-
-\footnotesize
-\begin{alltt}
-   (stop Bacula or unmount the drive)
-   mt -f /dev/nst0 rewind
-   mt -f /dev/nst0 weof
-\end{alltt}
-\normalsize
-
-hierbei m\"{u}ssen Sie {\bf /dev/nst0} durch das Device ersetzen,
-dem Ihr Tapelaufwerk entspricht.
-
-\section{PostgreSQL RPM-Installation}
-\index[general]{PostgreSQL!RPM-Installation}
-\index[general]{PostgreSQL RPM-Installation}
-Wenn Sie lieber die PostgreSQL-RPMs Ihrer Distribution verwenden wollen,
-m\"{u}ssen Sie sowohl das PostgreSQL-RPM, als auch das PostgreSQL-Client-RPM
-installieren. Die ben\"{o}tigten Client-Bibliotheken finden Sie normalerweise im
-PostgreSQL-devel-RPM. Folgende Pakete m\"{u}ssen installiert werden:
-
-\footnotesize
-\begin{alltt}
-  postgresql
-  postgresql-devel
-  postgresql-server
-  postgresql-libs
-\end{alltt}
-\normalsize
-
-Bei dem meisten anderen Paket-Managern werden die Pakete \"{a}hnlich
-Namen haben. Nach der Installation der Pakete m\"{u}ssen Sie die oben genannten
-Bacula-Scripte zur Datenbank-Einrichtung ausf\"{u}hren.
-
-
-\section{Migration von MySQL zu PostgreSQL}
-\index[general]{PostgreSQL!Migration von MySQL zu }
-\index[general]{Migration von MySQL zu PostgreSQL }
-
-Die hier beschriebenen Schritte wurden mit folgenden Software-Versionen getestet:
-
-\begin{itemize}
-\item Linux Mandrake 10/Kernel 2.4.22-10 SMP 
-\item Mysql Ver 12.21 Distrib 4.0.15, for mandrake-linux-gnu (i586) 
-\item PostgreSQL 7.3.4 
-\item Bacula 1.34.5 
-   \end{itemize}
-
-Warnung: Sichern Sie Ihre komplette MySQL-Datenbank bevor Sie diese Schritte
-ausf\"{u}hren!
-
-\begin{enumerate}
-\item Stoppen Sie Bacula (cd /etc/bacula;./bacula stop oder /etc/init.d/bacula stop)  
-\item F\"{u}hren Sie das folgende Kommando aus, um die Daten Ihrer MySQL-Datenbank
-zu exportieren:
-
-   \footnotesize
-\begin{alltt}
-       mysqldump -f -t -n >bacula-backup.dmp
-
-\end{alltt}
-\normalsize
-
-\item Sichern Sie Ihr /etc/Bacula-Verzeichnis, \"{a}ndern Sie aber nicht das bestehende Verzeichnis
-\item F\"{u}hren Sie erneut die Konfiguration des Bacula-Quelltextes durch und w\"{a}hlen Sie dabei
-PostgreSQL anstelle von MySQL als Datenbank aus (Option --with-postgresql=PostgreSQL-Verzeichnis).
-\item Kompilieren und Installieren Sie Bacula.
-\item Stoppen Sie MySQL.
-\item Starten Sie PostgreSQL.
-\item Erstellen Sie den Datenbankbenutzer bacula mit dem weiter oben beschriebenen Kommandos.
-\item \"{U}berpr\"{u}fen Sie die Datei pg\_hba.conf daraufhin das der Benutzer bacula die entsprechenden 
-Berechtigungen f\"{u}r den Datenbankzugriff besitzt. Wenn Ihr System entsprechend gesichert ist,
-k\"{o}nnte der Eintrag so aussehen:
-
-\footnotesize
-\begin{alltt}
-local all all trust
-
-host all all 127.0.0.1 255.255.255.255 trust
-
-Hinweis: PostgreSQL muss nach Anpassungen dieser Datei neu gestartet werden.
-\end{alltt}
-\normalsize
-
-\item Wechseln Sie in das Verzeichnis /etc/bacula und Initialisieren Sie die Katalogdatenbank
-mit diesen Kommandos:
-
-\footnotesize
-\begin{alltt}
-./create_postgresql_database
-
-./make_postgresql_tables
-
-./grant_postgresql_privileges
-
-\end{alltt}
-\normalsize
-
-\item \"{U}berpr\"{u}fen Sie, ob Sie die Berechtigung zum Datanbankzugriff haben: 
-
-   \footnotesize
-\begin{alltt}
-psql -Ubacula bacula
-\end{alltt}
-\normalsize
-
-Das sollte zu keinen Fehlern f\"{u}hren.
-
-\item Importieren Sie die Daten aus Ihrer MySQL-Datenbank mit:
-
-   \footnotesize
-\begin{alltt}
-psql -Ubacula bacula <bacula-backup.dmp>
-\end{alltt}
-\normalsize
-
-\item Aktualisieren Sie die Datenbank-Tabellen mit folgenden Kommandos:
-
-   \footnotesize
-\begin{alltt}
-psql -Ubacula bacula
-
-SELECT SETVAL('basefiles_baseid_seq', (SELECT
-MAX(baseid) FROM basefiles));
-SELECT SETVAL('client_clientid_seq', (SELECT
-MAX(clientid) FROM client));
-SELECT SETVAL('file_fileid_seq', (SELECT MAX(fileid)
-FROM file));
-SELECT SETVAL('filename_filenameid_seq', (SELECT
-MAX(filenameid) FROM filename));
-
-SELECT SETVAL('fileset_filesetid_seq', (SELECT
-MAX(filesetid) FROM fileset));
-
-SELECT SETVAL('job_jobid_seq', (SELECT MAX(jobid) FROM job));
-SELECT SETVAL('jobmedia_jobmediaid_seq', (SELECT
-MAX(jobmediaid) FROM jobmedia));
-SELECT SETVAL('media_mediaid_seq', (SELECT MAX(mediaid) FROM media));
-SELECT SETVAL('path_pathid_seq', (SELECT MAX(pathid) FROM path));
-
-SELECT SETVAL('pool_poolid_seq', (SELECT MAX(poolid) FROM pool));
-
-\end{alltt}
-\normalsize
-
-\item Starten Sie Bacula und \"{u}berpr\"{u}fen Sie den Datenbestand.
-F\"{u}hren Sie einen Backup-Job aus um zu sehen, ob alles erwartungsgem\"{a}{\ss} funktioniert.
-\end{enumerate}
-
-\section{PostgreSQL updaten}
-\index[general]{PostgreSQL updaten }
-\index[general]{updaten!PostgreSQL }
-\index[general]{Updaten}
-Wenn Sie PostgreSQL aktualisieren, m\"{u}ssen Sie Bacula
-neu kompilieren und installieren, andernfalls kann es zu
-Fehlern kommen. Auch nach der Aktualisierung der PostgreSQL-RPMs
-ist es notwendig Bacula neu zu bauen. Das k\"{o}nnen Sie einfach,
-mit den entsprechenden RPM-Kommandos, \"{u}ber das Bacula-Source-RPM
-ereichen. Eventuell m\"{u}ssen Sie aber vorher die bacula.spec
-anpassen, damit es mit der neuen PostgreSQL-Version funktioniert.