CentOS 7 – Aktuelle Version von PostgreSQL installieren

PostgreSQL ist ein freies, objektrelationales Datenbankmanagementsystem (ORDBMS). Viele Anwendungen setzen eine Installation vom PostgreSQL voraus. Weiterhin wird PostgreSQL auch gern anstelle von MySQL eingesetzt. Wie PostgreSQL auf einen CentOS 7 installiert wird zeigt dieser Artikel.

Installation von PostgreSQL unter CentOS 7

Um PostgreSQL mit yum installieren zu können benötigen wir das passende yum-Repository. Die Installation aus dem Repo hat den Vorteil, dass wir auch mit relevanten Patches und Updates versorgt werden. Eine manuelle Installation ist natürlich auch möglich. Wir besorgen uns daher zuerst das passende Repo für unsere Version unter http://yum.postgresql.org. In unserem Falle ist es das Repo für die PostgesSQL-Version 9.3 für CentOS 7. Das passende Repo wird dann auch gleich mit yum installiert.

yum install http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm

Anschliessend können wir PostgreSQL 9.3 in einer aktuelle Version installieren. Beim erstellen dieses Artikels war es die Version 9.3.5.

yum install postgresql93 postgresql93-server postgresql93-libs postgresql93-contrib
...
===========================================================================================================
 Package                         Arch              Version                         Paketquelle       Größe
===========================================================================================================
Installieren:
 postgresql93                    x86_64            9.3.5-2PGDG.rhel7               pgdg93            1.0 M
 postgresql93-contrib            x86_64            9.3.5-2PGDG.rhel7               pgdg93            554 k
 postgresql93-libs               x86_64            9.3.5-2PGDG.rhel7               pgdg93            199 k
 postgresql93-server             x86_64            9.3.5-2PGDG.rhel7               pgdg93            3.7 M
Als Abhängigkeiten installiert:
 uuid                            x86_64            1.6.2-26.el7                    base               55 k

Transaktionsübersicht
===========================================================================================================
Installieren  4 Pakete (+1 Abhängiges Paket)

Gesamte Downloadgröße: 5.5 M
Installationsgröße: 24 M
Is this ok [y/d/N]:

Nun ist alles nötige installiert und wir können mit der Konfiguration fortfahren.

Konfiguration von PostgreSQL unter CentOS 7

Als Erstes müssen wir die Datenbank von PostgreSQL initialisieren. Das geht ganz schnell mit dem folgenden Kommando.

/usr/pgsql-9.3/bin/postgresql93-setup initdb
Initializing database ... OK

PostgreSQL lauscht in der Standardkonfiguration nur auf Anfragen von localhost. Falls wir externen Zugriff benötigen müssen wir diesen explizit erlauben. Andernfalls können wir nachfolgende Schritte überspringen.

Um externen Zugriff zu erlauben editieren wir die Datei /var/lib/pgsql/9.3/data/postgresql.conf

vi /var/lib/pgsql/9.3/data/postgresql.conf

und fügen listen_addresses = ‚*‘ an der entsprechenden Stelle ein.

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
listen_addresses = '*'

Nun lauscht PostgreSQL auf alle IPs. Allerdings ist es nun noch notwendig die Berechtigungen für betreffende IPs oder Netzwerke zu setzen. Wie das genau funktioniert kann man am Besten in der Doku nachlesen.

# "local" is for Unix domain socket connections only
local   all             all                                     peer

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5 
host    all             all             0.0.0.0/0               md5
host    all             all             192.168.0.0/24          md5

# IPv6 local connections:
host    all             all             ::1/128                 md5

Nun können wir den Dienst starten und in den Autostart aufnehmen.

systemctl enable postgresql-9.3.service
systemctl start postgresql-9.3.service

Jetzt sollte der PostgesSQL-Server laufen und wir können mit dem erstellen einer Datenbank und dem Anlegen eines Benutzers weitermachen.

Erstellen einer Datenbank und eines Admin-Users

Adminstrative Aufgaben werden mit dem System-User postgres erledig. Wir wechseln also zu diesem User.

su - postgres

Mit dem Befehlt createdb erstellen wir eine Datenbank.

createdb tutorial

Anschliessend können wir uns in die erstellte DB einloggen.

psql tutorial
psql (9.3.5)
Type "help" for help.

tutorial=#

Jetzt erstellen wir einen weiteren User mit SuperUser-Rechten und einem Passwort.

tutorial=# CREATE USER tutouser WITH SUPERUSER LOGIN PASSWORD 'geheim';
CREATE ROLE

Nun testen wir den Login mit den neu erstellten User auf unsere Datenbank.

psql -h localhost -d tutorial -U tutouser
Password for user tutouser:
psql (9.3.5)
Type "help" for help.

tutorial=#

Mir diesem User sind wir nun in der Lage weiter Datenbanken und User anzulegen.

Wie immer lohnt ein Blick auf die Webseite des Projektes. Wie man das Webfronten phpPgAdmin installiert steht auch auf diesen Seiten.

2 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.