Anmelden

PostgreSQL-Installation unter LINUX

Package postgresql installieren (installiert vermutlich die aktuell verfügbare Version, bei Ubuntu 8.04 ist es PostgreSQL 8.3). Bei der Installation wird ein Systemnutzer postgres ohne Kennwort eingerichtet, welcher lokalen Zugriff auf den Dienst und die Werkzeuge hat. 

Nach der Installation ist der Dienst bei einigen Linux-Distributionen ohne Restart bereits aktiv (Ubuntu). Bei openSUSE müssen sie den Dienst noch starten.

su root
/etc/init.d/postgresql start

Das wichtigste Werkzeug ist psql, der Kommandozeilenprompt von PostgreSQL. Sie benötigen psql, um Datenbanken zu erstellen, Daten zu importieren, Abfragen auszuführen oder Datenbanknutzer zu verwalten. Um mit psql local auf die Datenbank zuzugreifen, müssen Sie Systemnutzer postgres sein. Wenn man root ist kann man sich ohne Kennworteingabe zu postgres machen und psql aufrufen:

su postgres
psql

Wenn man nicht root ist, muss man von root das Kennwort für den Systemnutzer postgres erstellen lassen:

su root
passwd postgres

Der Aufruf psql oben verwendet nicht TCP/IP, psql prüft lediglich, ob man lokal Nutzer postgres ist. Wenn man dagegen eine Verbindung über TCP/IP herstellen will, das ist für viele Anwendungen erforderlich, muss auf PostgreSQL ein Datenbanknutzer eingerichtet werden (nicht zu verwechseln mit dem Systemnutzer). Dieser heißt in dem Fall auch postgres mit Kennwort postgres. Mit folgendem SQL-Kommando richten sie einen Nutzer ein. mit q verlassen sie psql.

psql
ALTER USER postgres with password 'postgres';
\q

Auf dem Systemprompt PostgreSQL neu starten, damit der Datenbanknutzer aktiv wird:

/etc/init.d/postgresql restart

Nun können Sie mit psql die TCP/IP-Verbindung testen. In dem Fall ist es egal, welches lokales Login man hat, denn man muss sich von Postgres authentifizieren lassen.

psql -h 127.0.0.1 -U postgres

Wenn die Verbindung nicht möglich ist, prüfen Sie bitte die Konfiguration (pg_hba.conf, siehe unten). Achten Sie darauf, dass nur lokale und keine entfernten TCP/IP-Verbindungen freigegeben sind (siehe unten). Entfernte Verbindungen sind für die meisten Konfigurationen nicht erforderlich. Falls Sie entfernte Verbindungen freigeben sollten, müssen Sie unbedingt sichere Kennwörter für die Datenbanknutzer vergeben!

Weitere Informationen:
https://help.ubuntu.com/8.04/serverguide/C/postgresql.html

http://de.opensuse.org/PostgreSQL

PostgreSQL

TCP/IP-Verbindungen zulassen

Wenn der Datenbankserver nicht lokal zum Applikationsserver ist, muss in der Postgres-Konfiguration pg_hba.conf die CIDR-Adresse ergänzt/geändert werden. Damit wird bestimmten Hosts die Verbindung zu Postgres erlaubt. Standardmäßig ist meistens nur localhost erlaubt, was für Standardanwendungen meist ausreichend ist:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5

Es muss in jedem Fall darauf geachtet werden, dass md5 angegeben ist. Dies ist standardmäßig nicht immer der Fall. Folgende geänderte Konfiguration erlaubt Zugriff für alle Hosts:

host    all         all         127.0.0.1/0           md5

Ein Zugriff für alle Hosts ist in Produktivsystemen nicht empfohlen. Sondern tragen Sie nur den jeweiligen Host mit dem Applikationsserver ein. Weitere Informationen erhalten Sie in der Datei pg_hba.conf bzw. PostgrSQL-Hilfe.

Im Weiteren ist es erforderlich, in der Datei postgres.conf die Einstellung listen_addresses zu ändern, damit überhaupt Netzwerkverbindungen möglich sind:

listen_addresses = '*'

Die Konfigurationsdateien finden Sie je nach Installation z.B. unter:

/var/lib/pgsql/data/
/etc/postgresql/8.4/main/

Nach Änderung der Konfigurationsdateien muss PostgreSQL neu gestartet werden (siehe oben).

Und Sie müssen ggf. den Firewall des Servers entsprechend konfigurieren, da bei vielen Systemen standardmäßig ein Firewall aktiv und kommende Verbindungen nicht möglich sind.

  • Windows-Firewall öffnen
    • Regel für Port erstellen:
    • TCP/ Port 5432
    • Verbindung zulassen
    • alle Profile
    • Name eingeben
    • Fertig

Connection String

Im Applikationsserver müssen sie nun den Datenbankzugang für die NET-besierten Softwarekomponenten (Jobs, Websites) konfigurieren. Diese Konfiguration muss auf dem Server so geschützt werden, dass sie nicht von Nutzern eingesehen werden kann.

?< ?xml version="1.0" encoding="utf-8" ?>
< configuration>
< connectionStrings>
< add name="DefaultSqlConnection"
connectionString=
"database=samcc;SERVER=localhost;port=5432;UID=postgres;PASSWORD=****"
providerName="Nsoft.DataAccess.PgSql.PgDal"/>
< /connectionStrings>
< /configuration>

Ändern Sie hier lediglich SERVER, UID, PASSWORD entsprechend der Datenbankinstallation.

   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche