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