Im Durchschnitt wird dieses Tutorial PostgreSQL 10 auf Ubuntu 16.04 / 14.04 installieren mit 5 bewertet, wobei 1.0 die schlechteste und 5.0 die beste Bewertung ist. Es haben insgesamt 183 Besucher eine Bewertung abgegeben.
183 0

PostgreSQL 10 auf Ubuntu 16.04 / 14.04 installieren

vom gridscale Team Datenbank PostgreSQL Ubuntu
PostgreSQL 10 On Ubuntu Gridscale Tutorial

Relationale Datenbankmanagementsysteme (RDBMS) sind ein essentieller Bestandteil beim Entwickeln von dynamischen und interaktiven Websites und Webanwendungen. Diese Systeme bieten die Struktur für Speicherung, Organisation und den Zugriff auf deine Informationen.

PostgreSQL ist ein populäres, freies und objektrelationales Datenbanksystem. Bekannt ist das Postgres-System vor allem für den Einsatz auf Linux-Distributionen, es läuft aber auch unter OS X, BSD oder Windows. Postgres wird Open-Source entwickelt und unter der PostgreSQL License veröffentlicht. Du kannst es komplett frei und für alle Zwecke einsetzen:

“Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, …”

Postgres ist weitestgehend konform mit dem SQL:2011-Standard und eignet sich für kleine und große Projekte. Es bietet dir zudem viele advanced Features wie JSON-Unterstützung oder Foreign Data Wrappers. Mit den FDWs kannst du Queries von einer Postgres-Datenbank zu einer weiteren ausführen oder sogar von Postgres zu einer Mongo oder Redis Datenbank. Zudem gibt es eine riesige Auswahl an sehr guten Erweiterungen, wie zum Beispiel, die bekannte PostGIS Extension für Geodaten.

In diesem Tutorial installieren wir Postgres in der aktuellen Version 10.1 auf Ubuntu 16.04 / 14.04 LTS. Im Anschluss zeigen wir dir noch einige SQL-Basics.

>>> Neues Feature bei gridscale! – Platform-as-a-Service

Alle, die sich nicht mehr mit Datenbank-Administration auseinandersetzen wollen, können jetzt auch die neuen Platform Services von gridscale nutzen.

Der Vorteil der Platform Services bei gridscale: Wir kümmern uns um die sichere Konfiguration, den zuverlässigen Betrieb und die Installation von Sicherheitsupdates deiner PaaS-Dienste. In deinem gridscale Panel kannst du ab sofort mit den Datenbanken PostgreSQL, MySQL und redis starten.
Probiere es einfach mal aus!

Mehr Infos zu PaaS bei gridscale und wie PaaS funktioniert gibt es in unserem
Getting started mit PaaS bei gridscale.

Allgemeine Infos und einen Überblick findest du auf der Hauptseite
Platform Services von gridscale.

Installation

Wir haben für dieses Tutorial in wenigen Klicks einen eigenen Cloud-Server mit Gridscale-Template Ubuntu 16.04 LTS aufgesetzt. Um dem Tutorial folgen zu können, benötigst du ein System mit Ubuntu Version 16.04 oder 14.04 LTS.

In unserem Tutorial: How to gridscale erfährst du, wie du deinen eigenen gridscale Cloud-Server erstellst.

Bringe als erstes dein System auf den aktuellen Stand mit:

apt update -y && apt upgrade -y

Dann musst du zunächst die Quelle für das Debian Postgres Repository hinterlegen. Ediere hierfür deine Source-Liste mit folgendem Befehl:

nano /etc/apt/sources.list.d/pgdg.list

Füge anschließend folgende Quellenangabe in eine neue Line und speichere deine Änderungen ab:

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

Falls du Ubuntu 14.04 verwendest, musst du folgende Quelle hinterlegen:

deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main

Dies bewirkt, dass wir die aktuellste Version Postgres 10.1 bekommen.

Dann importierst du den Repository-signing-key und updatest deine Paketliste mit:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
  apt-key add -
  apt-get update

Als nächstes kannst du Postgres 10.1 installieren:

apt-get install postgresql-10 -y

Dein Postgres-Service sollte jetzt aktiv sein.

Überprüfe mit folgendem Befehl ob alles geklappt hat:

systemctl status postgresql

Active PostgreSQL 10.1 Service Ubuntu

Postgres 10.1 Einrichtung

Während der Installation von Postgres wurde ein Default Superuser-Account mit dem Namen postgres angelegt. In diesen Default-Postgres-Account wechselst du mit:

su - postgres

Von hieraus können wir einfach in das PostgreSQL-Terminal wechseln:

psql

Der Postgres-Prompt zeigt dir an, dass du dich in psql befindest. Psql ist ein simples und sehr umfangreiches interaktives Terminal für das Arbeiten mit PostgreSQL. Eine komplette Funktionsübersicht der psql-Kommandos rufst du mit \? auf. Falls du mal ein SQL-Kommando nachschauen musst, steht dir mit \h unter psql eine Hilfe zur Verfügung.

Schliesse psql mit:

\q

und melde dich vom Postgres-Service ab:

exit

Neue Postgres-Role erstellen

Nach der Installation solltest du dir als erstes einen eigenen Postgres-Superuser mit Passwort anlegen. In unserem Fall erstellen wir den Superuser gridscale; du kannst gridscale einfach mit deinem Namen ersetzen.

Führe hierzu unter root folgendes Kommando aus:

su - postgres -c "createuser --superuser gridscale --password"

Wichtig:
Postgres verlangt beim Verbinden zum Postgres-Service, dass dein Linux-Systembenutzer-Username mit dem Username deines Postgres-Superusers übereinstimmt. Aber dazu später mehr. Für den Fall, dass du auf deinem System bereits einen Linux-Systembenutzer für dich angelegt hast, kannst du der Einfachheit halber, deinem Postgres-Superuser jetzt den gleichen Namen vergeben.

Innerhalb des Postgres-Service erstellst du einen Superuser mit:

createuser --superuser gridscale --password

In der Manual von createuser erhälst du eine umfassende Funktionsübersicht der verfügbaren Flags:

man createuser

Du kannst z.B. auch interaktiv einen User erstellen mit:

createuser --interactive

pg_hba.conf konfigurieren

Die Client-Authentifikation wird bei Postgres in der Datei pg_hba.conf geregelt. Bevor du deine Datenbank anlegst, ist es notwendig, die Einstellungen der pg_hba.conf anzupassen. Die Datei findest du im Postgresql Ordner unter etc: /etc/postgresql/10/main/.

Öffne die Datei mit nano:

nano /etc/postgresql/10/main/pg_hba.conf

Innerhalb der Datei musst du die Einstellungen unter local anpassen. In der Spalte METHOD ersetzt du den Wert peer mit md5.

Wie oben bereits erwähnt, checkt Postgres bei der Authentifikation ob dein Linux-Systembenutzer-Username mit deiner Postgres-role übereinstimmt. Bei der Authentifikationsmethode peer verlangt Postgres zusätzlich, dass auch dein Datenbankname mit Linux-Usernamen sowie der Postgres-role übereinstimmt. Das ist in unserem Fall nicht sinnvoll und sollte lediglich für den Postgres Default-User bestehen bleiben. Durch die Änderung auf md5-Verschlüsselung können wir uns lokal nun auch mit Datenbanken verbinden, die nicht mit dem Postgres-Superuser übereinstimmen.

Es ist empfehlenswert dir einmal die komplette pg_hba.conf Dokumentation durchzulesen.

Neue Datenbank anlegen

In diesem Schritt zeige ich dir, wie du deine Postgres-Datenbank anlegst.

Führe unter root das nachfolgende Kommando aus, um eine Datenbank mit dem Namen gridscale zu erstellen:

su - postgres -c "createdb gridscale"

Wenn du bereits mit deinem Postgres-Service verbunden bist, kannst du deine Datenbank einfach so erstellen:

createdb gridscale

Mit der Postgres-role bei psql anmelden

Wenn du noch keinen Linux-Systembenutzer angelegt hast der mit deinem Postgres-Superuser übereinstimmt, musst du zuerst einen neuen User anlegen. Da wir bei der Einrichtung die Postgres-role gridscale angelegt haben, adden wir einen neuen Linux-User gridscale:

adduser gridscale

Wechsle anschließend in die Rolle des neu angelegten Users:

su - gridscale

Jetzt kannst du dich einfach mit:

psql

zum psql Terminal verbinden.

Außerhalb von psql verbindest du dich zu einer spezifischen Datenbank mit:

psql -d datenbankname

Wenn du dich bereits innerhalb von psql befindest, wechselst du zu einer anderen Datenbank mit:

\c datenbankname

Eine hilfreiche Connection-Übersicht steht dir mit \c zur Verfügung.

PostgreSQL 10.1 Active DB Connection

Tabellen erstellen und löschen

Nachdem du gelernt hast wie man sich mit dem PostgreSQL-Datenbank-System verbindet, können wir zu einigen SQL-Basics übergehen. Als erstes zeige ich dir, wie du eine Tabellenstruktur zum Abspeichern von Daten erstellst.

Die Syntax für das Erstellen von Tabellen sieht folgendermaßen aus:

CREATE TABLE my_first_table (
    first_column text,
    second_column integer
);

Lass uns eine simple Tabelle erstellen, in der wir unsere Gridscale-Tutorials aufnehmen können:

CREATE TABLE tutorials (
    tut_id serial PRIMARY KEY,
    name varchar (50) NOT NULL,
    tutorial_typ varchar (25) NOT NULL,
    last_edit date
);

Der ersten Spalte tut_id übergeben wir den Wert serial. Der Datentyp serial ist ein auto-increment-Feld vom Typ Integer. Zudem legen wir diese Spalte als unseren Primärschlüssel fest. Die Spalten name und tutorial_typ sind beide vom Datentyp varchar mit fester Länge und NOT NULL. Unsere letzte Spalte last_edit ist vom Typ date.

Eine Table-Übersicht erhältst du mit \d in detaillierter Form und mit \dt in einfacher Form.
\d listet zusätzlich unser auto-incrementing-Feld tut_id auf, was üblich ist für Spalten mit Sequence Type.

Create Simple Table PostgreSQL Tutorial

Löschen kannst du die Tabelle mit dem SQL-Befehl:

DROP TABLE tutorials;

Mit \h stellt dir psql eine Hilfe-Übersicht zu allen SQL-Befehlen bereit.

Add, Query und Delete von Daten

Im folgendem Schritt befüllen wir unsere gridscale-Tabelle mit Daten:

INSERT INTO tutorials (name, tutorial_typ, last_edit) VALUES ('How to gridscale', 'text', '2016-07-20');
INSERT INTO tutorials (name, tutorial_typ, last_edit) VALUES ('Apache Cassandra auf Ubuntu installieren', 'text', '2017-09-14');
INSERT INTO tutorials (name, tutorial_typ, last_edit) VALUES ('Funktionen im gridscale Dashboard ', 'video', '2017-01-10');

Um dir die komplette gridscale-Tabelle anzuschauen, führe folgenden Query aus:

SELECT * FROM tutorials;

Select All From Table PostgreSQL

Die Bezeichnung eines Tutorials änderst du mit diesem SQL-Befehl:

UPDATE tutorials SET name = 'Apache Cassandra auf Ubuntu 14.04 installieren' WHERE name = 'Apache Cassandra auf Ubuntu installieren';

Eine weitere Spalte fügst du so hinzu:

ALTER TABLE tutorials ADD neue_spalte varchar(50);

Die soeben neu erstellte Spalte löschst du mit:

ALTER TABLE tutorials DROP neue_spalte;

Fazit

Cool! Geschafft! Wir haben die aktuelle PostgreSQL 10.1 Version auf unserem Ubuntu 16.04 gridscale Cloud-Server zum Laufen gebracht und dazu noch ein paar SQL-Basics gelernt.

Im Umgang mit Postgres gibt es sicherlich noch viel mehr zu lernen. Eine gute und umfangreiche Dokumentation findest du unter anderem hier:

PostgreSQL 10.1 Documentation
PostgreSQL Wiki

Relationale Datenbankmanagementsysteme (RDBMS) sind ein essentieller Bestandteil beim Entwickeln von dynamischen und interaktiven Websites und Webanwendungen. Diese Systeme bieten die Struktur für Speicherung, Organisation und den Zugriff auf deine Informationen. PostgreSQL ist ein populäres, freies und objektrelationales Datenbanksystem. Bekannt ist das Postgres-System vor allem für den Einsatz auf Linux-Distributionen, es läuft aber auch unter OS […]

Schade, dass dir der Artikel nicht gefallen hat.
Was sollten wir deiner Meinung nach besser machen?

Vielen Dank für dein Feedback!
Wir melden uns bei dir, sobald der Artikel zu deinem Wunschthema fertig ist.

Übrigens: kennst du schon unser Tutorial zum Thema ownCloud auf Ubuntu 16.04 installieren?

×

Entwickler?

Dann einfach hier für unsere Tutorial-Updates anmelden.
Keine Sorge: Wir spammen dich nicht zu