In meiner LAMP Notiz habe ich beschrieben, wie MySQL als Teil des Web Stacks installiert wird.
Da ich viele Jahre mit MySQL gearbeitet habe, verwende ich es immer noch gerne für unkritische Applikationen, allerdings ist es ratsam – man google sich durch – für kritischere Systeme sein geneigtes Auge auf PostgreSQL zu werfen.
Ich hatte nie Probleme mit MySQL, auch die Schwarzmalerei in manchen Foren kann ich aus eigener Erfahrung nicht immer nachvollziehen. Dennoch werden immer mehr Open Source Systeme mit PostgreSQL statt MySQL implementiert.
Hier ist als der Weg zum LAPP, wobei ich hier nur den Wechsel von MySQL zu PostgreSQL beschreibe, und das nur auf Installationsebene. Um Migration auf Datenebene geht es hier erstmal nicht; falls jemand darauf gehofft hatte – sorry, aber wer sich bewußt für einen Wechsel entscheidet, für den sollte eine Datenmigration keine allzu große Herausforderung darstellen.
Nun also ans Werk:
Soferne bereits installiert, entfernen wir erst einmal MySQL – oder schalten es zumindest aus und belassen es auf dem System, daß ist wohl auch besser…
chkconfig mysqld off service mysqld stop
Natürlich kann man es auch genauso gut laufen lassen, wenn nötig.
Jetzt bedarf es ein wenig Vorarbeit, um PostgreSQL (derzeit als 9.2.x stable) genüßlich mittels yum zu installieren. Wir benötigen eine weiteres Repository:
wget http://yum.pgrpms.org/9.2/redhat/rhel-6.3-x86_64/pgdg-centos92-9.2-6.noarch.rpm rpm -ivh pgdg-centos92-9.2-6.noarch.rpm
Es empfiehlt sich, auf http://yum.pgrpms.org/9.2/redhat/rhel-6.3-x86_64/ zu prüfen, ob mittlerweile nicht vielleicht eine aktuellere Version verfügbar ist.
Das Repository CentOS_Base hält eine eigene, allerdings sehr veraltete PostgreSQL Version bereit, daher werden wir diese nun ausschließen. Wir editieren
/etc/yum.repos.d/CentOS-Base.repo
und fügen in den Sektionen
exclude=postgresql*
ein.
Die Installation führen wir nun mittels yum durch:
yum install postgresql92 postgresql92-devel postgresql92-server postgresql92-libs postgresql92-contrib -y
PostgreSQL für den automatischen Start beim Booten aktivieren wir mit
chkconfig postgresql-9.2 on
und starten den Server mit dem bekannten
service postgresql-9.2 start
und hoppla… ganz so einfach ist es nicht, zuerst müssen wir PostgreSQL noch die (einmalige) Initialisierung durchführen lassen.
service postgresql-9.2 initdb
Dies dauert je nach Hardware ein paar wenige Sekunden und nun können wir den Server wirklich starten.
In die Konfiguration der Datenbank werde ich hier nicht mehr einsteigen, die Verwandlung von LAMP zu LAPP auf Installationsebene ist abgeschlossen.
Viel Spaß mit PostgreSQL!