Last edit by philipp October 15, 2017 09:52

How to install Postgres on Solaris 11

This guide describes, how to set up Postgres on Solaris 11/OpenIndiana 151a5.

This document is not actual at all! It's a copy of my old blog from 2013.

Diese Anleitung setzt voraus, dass bereits eine lokale Zone für PostgreSQL eingerichtet wurde. Wie richtet man eine Zone in OpenIndiana ein? Der Rechnername für die globale Zone heißt in diesem Beispiel global, während die lokale Zone hier als local benannt ist. Diese Festlegung soll helfen, zu erkennen, wann man sich in der globalen bzw. lokalen Zone befindet.

Nano Editor installieren

Man kann natürlich aus der globalen Zone auf die Config-Files zugreifen, aber es ist praktischer auch in der lokalen Zone einen Editor parat zu haben.

root@global~#: pkg -R /zones/local/root install nano

PostgreSQL 8.4 in der lokalen Zone installieren

Es ist wichtig hier die Reihenfolge einzuhalten, da sonst die Installation mit einer Fehlermeldung abbricht, da der User postgres vom ersten Paket eingerichtet wird. Ein manuelles Anlegen wie oft im Web beschrieben, können sehr schnell zu Rechteproblemen führen. Deshalb machen wir uns das Leben lieber leichter ;)

root@global~#: pkg -R /zones/local/root/ install pkg:/database/postgres-84@8.4.4-0.151.1.7
root@global~#: pkg -R /zones/local/root/ install pkg:/service/database/postgres-84@8.4.4-0.151.1.7

Lokale Zone in der globalen neu starten

root@global~#: zoneadm -z local reboot

In die lokale Zone einloggen

root@global~#: zlogin local

Status des Dienstes abfragen

root@local~#: svcs “*postgres*”

PostgreSQL 8.4 starten (wahlweise 32- oder 64-bit)

root@local~#: svcadm enable postgresql_84:default_64bit

Benutzer wechseln

root@local: su - postgres

Neuen Datenbankbenutzer anlegen

postgres@local: /usr/postgres/8.4/bin/createuser pgadmin -P

Entfernte Anmeldung erlauben

Für den Fall, dass die Anwendung, die auf die Datenbank zugreifen soll, auf einem anderen Rechner läuft, muss der Zugriff gewährt werden. In diesem Beispiel erlaube ich allen Rechnern aus dem lokalen Netz 192.168.1.0 den Zugriff auf die Datenbank. Der Asterisk in der postgresql.conf gibt an, dass der Server auf allen Adressen horcht. Nicht vergessen das Kommentarzeichen (Rautesymbol) vor listen_addresses zu entfernen.

postgres@local: nano /var/postgres/8.4/data_64/pg_hba.conf
# IPv4 local connections:
host    all            all         127.0.0.1/32            trust
host    all            all         192.168.1.0/24          md5
postgres@local: nano /var/postgres/8.4/data_64/postgresql.conf
# - Connection Settings - Uncomment #listen_addresses and set to * (All)
listen_addresses = '*'         # what IP address(es) to listen on;

Logfile des Dienstes auslesen

Sollte sich PostgreSQL nicht starten lassen, kann man in der Logfile nachsehen, was die Ursache des Problems ist. Befindet sich der Service im Status maintenance liegen wahrscheinlich Rechteprobleme oder eine fehlerhafte Konfiguration vor.

root@local:# nano /var/svc/log/application-database-postgresql_84:default_64bit.log

Entfernte Datenbank verbinden

Möchte man sich mit der Datenbank lokal oder von einem entfernten Rechner anmelden, geht das mit dem folgendem Befehl. Für eine lokale Anmeldung verwenden Sie als Hostname localhost oder 127.0.0.1

postgres@local:~$ psql -h <hostname> -U <username> -d <database>

Weiterführende Informationen


The content on this page is licensed under Creative Commons Attribution 4.0 International license.