Re: Debian testing PG 8.3 /init.d

From: Olaf Radicke <briefkasten(at)olaf-radicke(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Debian testing PG 8.3 /init.d
Date: 2009-05-14 09:34:35
Message-ID: 200905141134.35574.briefkasten@olaf-radicke.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Am Wednesday 13 May 2009 09:54:10 schrieb Tobias Bußmann:
> Hallo Olaf,
>
> Olaf Radicke <briefkasten(at)olaf-radicke(dot)de> wrote:
> > Gut. Was soll ich jetzt dem geneigten Benutzer meiner Software in die
> > readme.txt schreiben? So was wie:
>
> die Installation eines DB-Servers sollte eigentlich nicht Thema des Readmes
> zu einer App sein, die den DB-Server nutzt. Du erklärst ja auch nicht, wie
> das OS installiert wird. Setze doch einfach einen eingerichten PostgreSQL
> cluster vorraus und gut ist. Der Zuständigkeitsbereich deiner App sollte
> erst mit dem Anlegen ihrer benötigten DBs in dem Cluster beginnen.

Vom Prinzip gebe ich dir Recht. Die Zielgruppe meines Programms () sind
aber "SOHO" (http://de.wikipedia.org/wiki/Small_Office,_Home_Office). Ich
muss also davon ausgehen das der Benutzer kein DBA ist oder hat. Ich hab
jetzt versucht dem Benutzer einen Überblick zu verschaffen, mit er einen
Anhaltspunkt hat, wenn was nicht funktioniert. Liest sich dann so:

\subsection{PostgreSQL unter Linux}

Es gibt zahllose Linux-Distributionen, unterschiedlichste
Paketmanager und verschiedene Versionen der Distributionen
von PostgreSQL selbst. Dazu differieren die Pakete
verschiedenen Maintainer. Es ist mittlerweile nahezu
aussichtslos, jede Eventualität beschreiben zu wollen.
Hier kann nur grob im Überblick dargestellt werden, in
welchen Schritten sich die Installation aufbaut und aus
welchen Elementen sie besteht.

\subsubsection{Das Paket}
Die meisten Linux-Distributionen haben ein PostgreSQL-Paket
beiliegen. Darüber hinaus kann man Pakete von Drittanbietern
nehmen oder man kann sich Pakete aus den Quellen selbst
bauen. Das Verwenden der Distributionspakete verspricht meist
den schnellsten Erfolg.

\subsubsection{Die Installation}
Je nach dem welchen Paketmanager man verwendet, sind hier die
Schritte verschieden. Lesen Sie dazu die entsprechende
Dokumentation. In der Regel läuft die PostgrSQL-Datenbank noch
nicht sofort nach der Installation. Je nachdem wie clever der
Maintainer die Pakete baut, sind jetzt verschiedene Dinge zu tun.

\subsubsection{Das Starten des PostgeSQL-Servers}
Natürlich kann man den Server per Hand starten und stoppen. In der
Regel soll das aber automatisch beim Start und beim Herrunterfahren
des Rechners passieren. Das wird unter Linux mit einem Init-Skript
bewerkstelligt. Dies sollte im
Verzeichenis /etc/init.d/<postgresql-server-name> liegen.
\medskip

Das Skript selbst sollten Sie nicht verändern. In der Regel wird es
vom Programm generiert und Ihre Änderungen könnten überschrieben
werden. Dieses Skript kann unter Umständen weitere Skripte aufrufen und
Befehle weiter deligieren.
\medskip

Sie können den PostgreSQL-Server aber mittels dieses Skripts per Hand
starten. Mit den Parametern "`start"' zum Starten, mit "`stop"' zum
Herrunterfahren oder mit "`restart"', um den Server neu zu starten.
Ihr System tut genau das selbe, wenn es beim booten den Server startet
oder ihn beim Herunterfahren beendet. Ein "`restart"' brauchen Sie,
wenn Sie die Konfiguration geändert haben.
\medskip

Je nach System kann es sein, dass nur "`root"' (der Superuser) die
init-Skripe starten darf. Bei anderen Systemen darf es nur der User
"`postgres"'. Bei anderen wiederum dürfen es beide - ensprechend der
gesetzten Berechtigungen und Rollen. Auf manchen Systemen ist SELinux
aktiviert. Dort kann es nochmal ganz anders sein.

\subsubsection{Das Anlegen eines Datenbank-Clusters}
Nach der Installation wird es noch kein Datenbank-Cluster geben. Ein
besonderes Verzeichnis, in dem PostgreSQL seine Daten ablegen wird.
Manche init-Skripte merken das beim ersten Start und werden versuchen,
das Verzeichnis automatisch anzulegen. Manche tun dies aber nicht.
\medskip

Wenn das init-Skript bei dem Versuch, die Datenbank zu starten, eine
Fehlermeldung ausgibt, müssen Sie unter Umständen den
Datenbank-Cluster händisch einrichten. Dazu gibt es ein bestimmtes
Programm, dessen Name und Funktion von der verwendeten Verson von
PostgreSQL abhängt. Auch dieses Programm kann nicht jeder User
ausführen. Der Ort, an dem Sie das Programm in Ihrer Verzeichnisstruktur
finden, kann stark variieren.

\subsubsection{Konfiguration des Datenbank-Servers}
Die Konfigurationsdatei von PostgreSQL heißt "`postgresql.conf"'.
Diese kann an verschiedenen Orten liegen. Manchmal liegt sie unter
/var/lib/postgres, manchmal unter /etc/postgres/. Sie kann aber auch
ganz wo anders liegen.
\medskip

In dieser Konfiguration müssten Sie unter Umständen noch einstellen,
ob die Datenbank auch Kontakte über tcp/ip (also Netzwerk) annehmen
soll. Möglicherweise müssen Sie noch ändern, wie die Log-Dateien
geschrieben werden und ob SSL verwendet werden soll. Es kann aber
auch sein, dass die Datei brauchbare Grundeinstellungen beinhaltet
und dass Sie nichts mehr tun müssen. Die Namen der Parameter in der
Datei, können sich zwischen den PostgreSQL-Versionen unterscheiden.
Orientieren Sie sich am besten an den Kommentaren in der
Konfigurationsdatei.

\subsubsection{Konfiguration der Zugriffsrechte}

In der Datei "`pg\_hba.conf"' kontrollieren Sie den Zugriff auf
Datenbank-Instanzen. Diese kann an unterschiedlichen Orten liegen.
Manchmal liegt sie unter /var/lib/postgres, manchmal unter
/etc/postgres/. Sie kann aber auch ganz wo anders liegen. Details
finden Sie weiter unten.

\subsubsection{Einrichten von Datenbankbenutzern}

Die Datenbankbenutzer haben nichts mit den Systemnutzern zu tun. Die
Datenbank hat ihre eigene Benutzerverwaltung mit Zugriffskontrolle.
Das heißt, für jeden Benutzer muss ein Account in der Datenbank
angelegt werden. So auch für Artikel23. Dazu unten mehr.

\subsubsection{Einrichten der eigentlichen Datenbank für Artikel23}
Zuletzt müssen sie die eigentliche Datenbank in Cluster einlichten und dem
richtigen Benutzer als Eigentümer zuweisen. (Details sie weiter unten)

Gruß

Olaf

--
Meine Rechtschreibfehler stehen unter der Creative Commons Lizenz.
(Bearbeitungen und Weitergabe unter gleichen Bedingungen):
http://creativecommons.org/licenses/by-sa/2.0/de/

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Olaf Radicke 2009-05-14 09:36:06 Re: Debian testing PG 8.3 /init.d
Previous Message Olaf Radicke 2009-05-14 09:15:58 Re: Debian testing PG 8.3 /init.d