Skip to content

Installation PostgreSQL 10 Beta unter Ubuntu

Seit kurzem ist die erste Beta von PostgreSQL 10 verfügbar.

Das Major Release bringt Neuerungen wie logische Replikation oder führt ein Quorum bei Replikation ein.

Außerdem wurde an der Performance gearbeitet und die mit der Version 9.6 eingeführtem paralleler Queries (Artikel) weiter verbessert.

Weitere geplante Neuerungen können diesem Blog Eintrag entnommen werden

postgres

Im 4. Quartal 2017 ist die Fertigstellung des Datenbanksystems in Version 10 geplant.

Installation PostgreSQL 10 Beta unter Ubuntu 16.04. LTS

Um die Wartezeit etwas zu verkürzen kann die aktuelle Beta bereits via Repository installiert und getestet werden.

wget -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main 10" >> /etc/apt/sources.list.d/postgresql-testing.list'

sudo apt-get update
sudo apt-get install postgresql-10
sudo apt-get install postgresql-client-10

pgAdmin4 - Installation und ein erster Blick auf die neue PostgreSQL Schaltzentrale

Vor gut einem Monat ist die erste Beta Version von pgAdmin erschienen.
Die neue Version 4 (der mittlerweile in die Jahre gekommenen Version 3) wurde komplett überarbeitet und neu geschrieben.

Inzwischen wurde Beta 3 veröffentlicht, höchste Zeit einen kurzen Blick auf die Installation und das neuen Design zu werfen.

pgadmin4-logoDie Schaltzentrale für PostgreSQL Datenbanken hat einen modernen Anstrich erhalten und zeigt sich bei einem ersten Blick auf die neue Weboberfläche recht übersichtlich. So stellt das neue Dashboard die wichtigsten Aktivitäten auf einer Datenbank live dar. Die Ansicht ist responsive und erlaubt somit auch den Aufruf via Tablet und Co.

Insgesamt wurde auf eine einfache und übersichtliche Darstellung geachtet, so sind viele Einstellungen via Schieberegler zu aktivieren (siehe Screenshot).

Auch die Flexibilität wurde stark erhöht. Tabs lassen sich nun beliebig auf der Oberfläche verschieben und platzieren.

Besonders zu erwähnen ist die doppelte Funktion von pgAdmin. Es kann als Webserverwendung oder Clientsoftware genutzt werden.

pgadmin4-stats

Die komplett überarbeitete DB Software wurde in Python geschrieben und verwendet das  Flask Framework als Backend. Das Frontend besteht aus dem bekannten Mix von Javascript und jQuery.

Durch das moderne Redesign von pgAdmin sind aber auch ein paar wenige Funktionen auf der Strecke geblieben, so stehen der Query Builder, sowie der Datenbank Designer nicht mehr zur Verfügung.

pgadmin4-einstellungen

Die Installation

fällt durch die Hilfe von PIP recht leicht und kann in wenigen Schritten erledigt werden.

Zunächst müssen die benötigten Pakete geladen werden. Dazu zählt natürlich ein Datenbank Server, sowie der Python Pakete Manager PIP. Basis System ist Ubuntu 16.04 LTS.

sudo apt-get install postgresql-9.5
sudo apt-get install python-pip
sudo apt-get install libpq-dev
wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta3/pip/pgadmin4-1.0b3-py2-none-any.whl

Alte Versionen sind hier zu finden

https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta1/pip/pgadmin4-1.0_beta1-py2-none-any.whl
https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta2/pip/pgadmin4-1.0b2-py2-none-any.whl

Nun folgt die Paketinstallation

pip install pgadmin4-1.0_beta3-py2-none-any.whl

Please add the directory containing pg_config to the PATH

or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

pgadmin4-installation

Vor dem ersten Start muss eine Config Datei angelegt werden

cd /usr/local/lib/python2.7/dist-packages/pgadmin4
touch config_local.py

Diese lokale Konfiguration muss auf jeden Fall folgende Werte enthalten:

SECRET_KEY = 'GeheimesGeheimnis2'
SECURITY_PASSWORD_SALT = 'GeheimesGeheimnis3'
CSRF_SESSION_KEY = 'GeheimesGeheimnis1'

Die vorhandenen Werte können der config.py entnommen werden

cat config.py |grep CSRF
CSRF_SESSION_KEY = 'GeheimesGeheimnis1'

cat config.py |grep SECRET_KEY
SECRET_KEY = 'GeheimesGeheimnis2'

cat config.py |grep SECURITY_PASSWORD_SALT
SECURITY_PASSWORD_SALT = 'GeheimesGeheimnis3'

Weitere Konfigurationen, wie beispielsweise eine andere Serveradresse "DEFAULT_SERVER = '0.0.0.0" müssen nicht zwingend hinterlegt werden, hier gelten die Default Werte aus der Hauptkonfiguration. 

Bei einem Betrieb als Webserver sollten die einzelnen Einstellungen genau unter die Lupe genommen werden.

Danach kann die Anwendung zum ersten Mal gestartet werden

cd /usr/local/lib/python2.7/dist-packages/pgadmin4
python ./pgAdmin4.py

        pgAdmin 4 - Application Initialisation
        ======================================


        The configuration database - '/home/lars/.pgadmin/pgadmin4.db' does not exist.
        Entering initial setup mode...
        NOTE: Configuring authentication for SERVER mode.

        Enter the email address and password to use for the initial pgAdmin user account:

        Email address: xxx@test.de

Ein Aufruf der Anwendung erfolgt über den Browser

http://127.0.0.1:5050

Die Anmeldung erfolgt mit den bei der Ersteinrichtung hinterlegten Daten.

Für die Einrichtung und Verwendung des neuen pgAdmin4 wurde bereits eine ausführliche Dokumentation zur Verfügung gestellt.

Fazit

Über den Release Termin der finalen Version konnte ich leider keine Informationen finden. Die aktuelle Beta Version sieht schick aus, besticht durch ihre aufgeräumte Oberfläche und macht Lust auf mehr. Auch für Windowsnutzer steht bereits eine lauffähige Testversion zur Verfügung.

Nun heißt es warten auf die finale Version, um ein endgültiges Fazit ziehen zu können. Bis jetzt ist die Tendenz sicherlich positiv.

PGCenter - PostgreSQL Datenbank Statistiken und Leistungsdaten auf einen Blick

PostgreSQL ist die Tage in Version 9.5 erschienen (siehe Artikel). 
Egal ob neues oder altes DB System, eine Analyse der Performance und Auswertung von Zugriffszeiten- oder daten, usw. ist bei vielen Anwendungsszenarien unerlässlich.

PGCenter

Eine Auswertungsmöglichkeit bringt PostgreSQL selbst mit. Unter dem Prefix "pg_stats" stehen verschiedene Mechanismen für Auswertungen zur Verfügung.

Weiter geht PGCenter. Es bündelt diese Auswertungen in einer Ausgabe, die der Prozessüberwachung top ähnelt. Dies sorgt für eine schnelle Übersicht und bringt zusätzlich die Möglichkeit selbst Aktionen auszuführen.

Die Hauptfunktionen von PGCenter werden wie psql Befehle ausgeführt und bieten momentan folgende Möglichkeiten:

postgresql

  • top-like interface
  • use same connection options as with psql
  • show current system load and cpu/memory/swap usage
  • show input/output statistics for devices and partitions like iostat
  • show network traffic statistics for network interfaces like nicstat
  • show current postgres state (connections state, longest transaction, autovacuum)
  • show statistics about tables, indexes, functions, activity, replication
  • show pg_stat_statements statistics: calls, rows
  • show pg_stat_statements statistics: cpu timings, io timings
  • show pg_stat_statements statistics: blks i/o (hits, reads, dirtied, written, temp)
  • show relations sizes info
  • configuration files editor and postgres reload
  • log files viewing (full log or tail)
  • cancel/terminate queries or processes by pid or whole group
  • query reporting

Installation von PGCenter Statistik

Referenzsystem ist ein Ubuntu Server 14.04. Weitere Installationsarten werden auf der Homepage beschrieben 

sudo add-apt-repository ppa:lesovsky/pgcenter
sudo apt-get update
sudo apt-get install pgcenter

Benutzung von PGCenter

Wie bereits oben erwähnt ist die Nutzung von PGCenter an psql Befehle angelehnt. Damit alle Daten ausgewertet werden können, muss ein superuser account wie "postgres" verwendet werden, ansonsten kann es zu Einschränkungen kommen

Eine Möglichkeit die PGCenter Konsole zu starten wäre beispielsweise

sudo -u postgres pgcenter

Hier wird das Tool direkt als Benutzer Postgres gestartet.

pgcenterpgcenter

Befehle für PGCenter

Ein interaktive Bedienung erfolgt mit folgenden Befehlen (Hilfe mit F1).

 

general actions:
  a,d,i,f,r       mode: 'a' activity, 'd' databases, 'i' indexes, 'f' functions, 'r' replication,
  s,t,T           's' sizes, 't' tables, 'T' tables IO,
  x,X,c,v         'x' stmt timings, 'X' stmt general, 'c' stmt IO, 'v' stmt temp.
  Left,Right,/    'Left,Right' change column sort, '/' change sort desc/asc.
  C,E,R           config: 'C' show config, 'E' edit configs, 'R' reload config.
  p                       'p' start psql session.
  l               'l' open log file with pager.
  N,Ctrl+D,W      'N' add new connection, Ctrl+D close current connection, 'W' write connections info.
  1..8            switch between consoles.
subscreen actions:
  B,I,L           'B' iostat, 'I' nicstat, 'L' logtail.
activity actions:
  -,_             '-' cancel backend by pid, '_' terminate backend by pid.
  >,.             '>' set new mask, '.' show current mask.
  Del,Shift+Del   'Del' cancel backend group using mask, 'Shift+Del' terminate backend group using mask.
  A               change activity age threshold.
  G               get report about query using hash.

other actions:
  , Q             ',' show system tables on/off, 'Q' reset postgresql statistics counters.
  z,Z             'z' set refresh interval, 'Z' change color scheme.
  space           pause program execution.
  F1              show help screen.
  q               quit.

Fazit

PGCenter bindet sich gut in die Umgebung ein und liefert viele wichtige Werte rund um einen PostgreSQL Datenbankbetrieb. Anwender, welche mit "top" arbeiten, werden pgcenter mögen.

https://github.com/lesovsky/pgcenter

PostgreSQL 9.5 - So gelingt die Installation des Datenbanksystems auf Ubuntu Server

Gestern ist eine neue PostgreSQL Version erschienen. Das offene Datenbanksystem bringt diverse Neuerungen mit sich.

So beherrscht PostgreSQL 9.5 unter anderem UPSERT. Dabei handelt es sich um eine Erweiterung des INSERT-Befehls mit ON CONFLICT UPDATE. Das heißt UPSERT erstellt einen neuen Datensatz oder ändert bereits vorhandene ohne zusätzliche Abfragen.

postgresql

Zugriffsrechte auf Zeilenebne können nun ebenfalls vergeben werden. (Row Level Security). Für die Big Data Zukunft sind ebenfalls einige Funktionen hinzugekommen. 

Ein detailierter Überblick ist unter https://wiki.postgresql.org/wiki/PostgreSQL_9.5 zu finden.


PostgreSQL 9.5 unter Ubuntu, Mint oder ElementaryOS installieren

In den Standardrepositories des Ubuntu Server 14.04 ist momentan nur PostgreSQL 9.3 verfügbar. Darum muss bei einer Installation der Version 9.5 etwas Hand angelegt werden.

wget -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main 9.5" >> /etc/apt/sources.list.d/postgresql.list'

sudo apt-get update

sudo apt-get install postgresql-9.5

Eine Kontrolle der erfolgreichen Installation kann mit netstat gemacht werden. Hier sollte auf Port 5432 der Postgres Dienst laufen

netstat -lnp

Weitere erste Schritte können der Anleitung zu PostgreSQL 9.4 entnommen werden.


Das könnte die interessieren:

Praktische PostgreSQL Tools und Links in der Übersicht

22 praktische PostgreSQL Befehle

PostgreSQL 9.4 Server auf Ubuntu installieren und mit der neuen SQL Funktion ALTER SYSTEM konfigurieren

PgTune - Performance Einstellungen für PostgreSQL Datenbanken automatisch erstellen

pgBadger 4.0 - PostgreSQL Logs analysieren und auswerten

Praktische PostgreSQL Tools und Links in der Übersicht

Das Release von PostgreSQL 9.5 rückt immer näher, vor wenigen Tagen ist bereits der erste Release Candidate erschienen. Bis zur finalen Version möchte ich die Zeit mit einer kleinen, aber praktischen Linksammlung zum PostgreSQL Universum überbrücken.

postgresql

Auf Github gibt es einige Link- bzw. Toolsammlungen. (Ich hatte in der Vergangenheit schon auf eine Toolsammlung für Node.js verwiesen). Neben Serversystemen gibt es solche Listen auch für Datenbanksystem wie MySQL oder PostgreSQL.

Eine davon, bekannt unter Awesome-Postgres, bietet einen kleinen Überblick über freie Tools, Skripte oder Anleitungen rund um PostgreSQL und soll in dieser Sammlung einen ersten Einblick geben.

Die Liste wurde in Bereiche namens Backup, Gui oder Erweiterungen usw. unterteilt. Darunter finden sich beispielsweise Erweiterungen wie PostGIS, welches bei OpenStreetMap zum Einsatz kommt oder diverse Tools, um eine Datenbank über eine Oberfläche zu verwalten.

Als vollständig würde ich diese Übersicht nicht bezeichnen, da Programme wie beispielsweise PostgreSQL Studio (gerade erst in Version 2.0 erschienen) außen vor bleiben. 

Hier ein paar eigene Ergänzungen zu dieser Postgres Linksammlung.

Datenbank Verwaltung

Es gibt zu Postgres bereits bestehende Sammlungen, die ebenfalls einen Blick wert sind. Unter anderem der Community Guide to PostgreSQL GUI Toools, welcher alleine 33 OpenSource Tools zu Datenbank Verwaltung listet.

Erweiterungen

Neben den oben erwähnten Erweiterungen gibt es eine Vielzahl an Extensions für Postgres. Für eine Suche bietet sich das PostgreSQL Extension Network an. Dabei handelt es sich um ein Suchmaschine für Erweiterungen.

pgxn

Monitoring und Analyse

Auch im Bereich der Analyse und Überwachung ist der Blick auf die offizielle Seite sinnvoll, hier werden neben klassischen Auswertungen auch Plugins für Nagios bzw. Icinga oder Zabbix angeboten.

Handbücher und Tutorials

Für Einsteiger und als Grundlage bietet sich "Start mit PostgreSQL" an. Das freie Buch ist auf Deutsch vorhanden und bietet einen ersten Einblick in Datenbanksysteme. 

Ein guter Überlick ist zusätzlich in den offiziellen Manuals oder auf postgresguide.com zu finden.

Offene Fragen

Für Fragen gibt es ein deutschsprachiges Forum, in dem jeder seine offenen Fragen oder Antworten zu PostgreSQL veröffentlichen kann. 

Newsletter

Für E-Mail und RSS Freunde bietet es sich an den Newsletter Postgres Weekly zu abonnieren. Hier wird der Datenbank Freund regelmäßig über aktuelle Entwicklungen und Neuerungen zu PostgreSQL informiert.

Postgres_Weekly


Das könnte dich interessieren

22 praktische PostgreSQL Befehle

PostgreSQL 9.4 Server auf Ubuntu installieren und mit der neuen SQL Funktion ALTER SYSTEM konfigurieren

PgTune - Performance Einstellungen für PostgreSQL Datenbanken automatisch erstellen

Ubuntu - PostgreSQL Migration - Update eines 8.x Datenbank Servers auf 9.x

pgBadger 4.0 - PostgreSQL Logs analysieren und auswerten