Skip to content

PostgreSQL 11 - die Neuerungen, sowie Installation und Upgrade unter Ubuntu 18.04 LTS

Letzte Woche war es soweit, nach einen Jahr wurde PostgreSQL 11 veröffentlicht.

Die neue Version 11 hat im Vergleich zur letzten viele Änderungen erhalten. Neben Performance wurde auch an der Usability gearbeitet.

PostgreSQL 11 Neuerungen

Die vielleicht beste Neuerung für den Wald und Wiesen Datenbanknutzer betrifft die Postgres Konsole psql. Diese kann nun mit quit und exit verlassen werden, in Ergänzung zu \q oder Strg+D

postgres

Weitere Änderungen sind:

Die Parallelisierung wurde auf Hash Joins, Append, Index Erstellung, UNION-Abfragen und weitere Elemente erweitert.

JIT (Just in Time ) Kompilierung wurde integriert, was nach eigenen Aussagen 30% Geschwindigkeitszuwachs bringt . JIT muss manuell aktiviert werden.

Die Partitionierung wurde verbessert (z.B. hash partitioning) und PRIMARY KEY und FOREIGN KEY Anweisungen sind nun auch auf Partitionen möglich.

Neue Rollen wurden eingeführt (pg_read_server_files, pg_write_server_files, pg_execute_server_program).

Und ALTER TABLE beherrscht nun ADD COLUMN mit NOT NULL als Standardwert. 

 

Dies ist nur ein minimaler Auszug der neuen Features des aktuellen Releases. Daher verweise ich auf die Release Notes.

Nun zur Installation

Installation PostgreSQL 11 unter Ubuntu 18.04 LTS

sudo 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/ bionic-pgdg main 11" >> /etc/apt/sources.list.d/postgresql-11.list'
sudo apt update
sudo apt install postgresql-11

The following additional packages will be installed:
  libllvm6.0 libpq5 libsensors4 pgdg-keyring postgresql-client-11 postgresql-client-common postgresql-common sysstat
Suggested packages:
  lm-sensors locales-all postgresql-doc-11 libjson-perl isag
The following NEW packages will be installed:
  libllvm6.0 libpq5 libsensors4 pgdg-keyring postgresql-11 postgresql-client-11 postgresql-client-common postgresql-common sysstat
0 upgraded, 9 newly installed, 0 to remove and 1 not upgraded.
Need to get 30.7 MB of archives.
After this operation, 115 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Upgrade auf PostgreSQL 11 von PostgreSQL 10

Bei einem Upgrade muss die neue Version (wie oben beschrieben) installiert werden. Danach kann überprüft werden, ob beide aktiv sind. Vorher aber das Backup nicht vergessen.

pg_dumpall > Sicherung
pg_lsclusters

Danach wird das neue Cluster vorerst angehalten damit das alte auf das neue migriert werden kann.

sudo pg_dropcluster 11 main --stop
sudo pg_upgradecluster 10 main

  Stopping old cluster...
  Disabling connections to the old cluster during upgrade...
  Restarting old cluster with restricted connections...
  Creating new PostgreSQL cluster 11/main ...
  /usr/lib/postgresql/11/bin/initdb -D /var/lib/postgresql/11/main --auth-local peer --auth-host md5 
  --encoding UTF8 --lc-collate en_US.UTF-8 --lc-ctype en_US.UTF-8
  The files belonging to this database system will be owned by user "postgres".
  This user must also own the server process.

  The database cluster will be initialized with locale "en_US.UTF-8".
  The default text search configuration will be set to "english".

  Data page checksums are disabled.

  fixing permissions on existing directory /var/lib/postgresql/11/main ... ok
  creating subdirectories ... ok
  selecting default max_connections ... 100
  selecting default shared_buffers ... 128MB
  selecting dynamic shared memory implementation ... posix
  creating configuration files ... ok
  running bootstrap script ... ok
  performing post-bootstrap initialization ... ok
  syncing data to disk ... ok

pg_lscluster

Im nächsten Schritt kann die korrekte Funktion des Systems und der Datenbanken überprüft werden.

Ist alles in Ordnung kann das alte Cluster entfernt werden.

sudo pg_dropcluster 10 main

 

Jitsi Videobridge und Jitsi Meet - eigene Web und Videokonferenzen via Browser

Vor ca.3 Jahren hatte ich bereits über Jitsi Meet berichtet. Mittlerweile ist das Thema WebRTC und Web Videokonferenzen ein alter Hut und es wird nicht mehr jeden Tag eine neue Sau durchs Dorf getrieben.

jitsi-meet-2018

Jitsi Meet

Jitsi wurde inzwischen von Atlassian übernommen und die Entwicklung an der Webkonferenzlösung still und heimlich weitergeführt.

Es wurden stets stabile Releases der Software veröffentlicht, diese waren bisher allerdings etwas schwerer zu erkennen, die hat sich nun geändert.

Die aktuellste stabile Version trägt die Nummer 2988 und der aktuelle Changelog kann auf Github eingesehen werden.

Installation unter Ubuntu

Zunächst möchte ich kurz zeigen, wie sich die neueste Version installieren lässt, dieser Vorgang wurde im Vergleich zu früher stark vereinfacht.

Ausgangsystem ist ein Ubuntu 16.04 (ja ich weiß 18.04 ist schon verfügbar)

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add 
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

sudo apt-get -y update
sudo apt-get -y install jitsi-meet

Ein Lets Encrypt Zertifikat kann nun ebenfalls automatisch erstellt werden:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Aufrufen lässt sich die fertige Installation über https://meineServerAdresse.de

Die Software selbst hat einige Schritte nach vorne gemacht, nicht nur das Design ist besser, auch die Stabilität wurde um einiges verbessert. Neben dem eingebauten Chat lassen sich YouTube Videos oder der eigene Bildschirm teilen. Auch verschiedene Sprachen werden nun unterstützt.

jitsi-meet-2018Für Tastaturfreunde wurden ausreichend Kürzel implementiert.

jitsi-tastaturbefehle

Fazit

Wer einen eigenen Videokonferenzserver betreiben möchte, ist mit Jitsi Meet sicherlich gut bedient, die Software bietet genügend Funktionen für einen Jour fixe. 

Die schnelle und einfache Installation spricht für sich, sowie die Unterstützung für Lets Encrypt.

Falls kein Server zur Installation vorhanden ist, kann die offizielle Variante unter meet.jit.si verwendet werden.

Seit letztem Jahr wird zusätzlich auf Mobile Clients gesetzt, für Android oder für iOS stehen stabile Veröffentlichungen zur Verfügung.

Auch im Hinblick auf unsichere Programme, wie Skype und Co, bietet Jitsi Meet mit ZRTP und OTR Verschlüsselung die richtige und sichere Alternative für Videotelefonie an.

https://github.com/jitsi/jitsi-meet

Portainer - Docker Container über eine grafische Oberfläche verwalten

Containerisierung in der IT ist nicht mehr wegzudenken, viele sind mit Docker und Co schon einmal in Berührung gekommen.

Arbeit mit Docker bedeutet viel Konsolenarbeit. Ein docker ps da oder ein docker save dort. Um diese Arbeit zu vereinfachen wurde Portainer entwickelt.

Portainer – Open Source Container Dashboard

Das Open Source Tool erlaubt einen Überblick und eine Bearbeitung der vorhandenen Docker Container, ist unter Linux leicht zu installieren (natürlich als Docker Container) und benötigt anders als Rancher nicht zwingend ein signiertes TLS Zertifikat.

Auch das Erstellen von neuen Containern oder eine Beschränkung auf bestimmte Nutzergruppen ist über die Oberfläche einfach zu realisieren.

Über jeden Container lassen sich ausführliche Informationen wie Logs, Pfade oder Laufzeit auslesen. Selbst eine Konsole lässt sich über die Verwaltung starten.

portainer

Eine eigene Installation ist schnell erstellt.

Zunächst kann das Docker Dashboard einfach ohne TLS gestartet werden.

docker volume create portainer_data

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Der Aufrug erfolgt dann über den Browser und http://local-IP:9000

Für einen dauerhaften Betrieb würde sich ein persistenter Ordner, sowie ein Autostart anbieten. Sollte SELinux im Einsatz sein, muss zusätzlich mit „privileged“ gearbeitet werden.

docker run -d --privileged -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer

In den Standardeinstellungen speichert Portainer seine Daten unter /data.

Auch ein individueller Remote Host ist möglich

docker run -d -p 9000:9000 portainer/portainer -H tcp://<REMOTE_HOST>:<REMOTE_PORT>

Portainer-Remote

Portainer mit TLS zu verwenden benötigt weitere Befehle.

docker run -d -p 9000:9000 -v /path/to/certs:/certs portainer/portainer -H tcp://<DOCKER_HOST>:<DOCKER_PORT> --tlsverify --tlscacert /certs/myCa.pem --tlscert /certs/myCert.pem --tlskey /certs/myKey.pem

Eine ausführliche Portainer Dokumentation bietet noch mehr Möglichkeiten zur Konfiguration an

 

Fazit

Für eine einfache und praktische Verwaltung von Docker Containern ist Portainer wirklich gut zu gebrauchen. Es bietet genügend Funktionen an, um sich einen Überblick zu verschaffen.

Portainer erlaubt dank einer integrierten Nutzerverwaltung und der Möglichkeit Container auszublenden auch eine Verwendung im professionelleren Umfeld. Neben der Einbindung eines eigenen Logos werden sogar Windows Container unterstützt.

Probiert es mal aus, eine vorhandene Docker Umgebung kann damit gut ergänzt werden.

Download Portainer

 

pgAdmin 4.x für Ubuntu, Debian, Mint und Co via Repository verfügbar

Kurze Meldung für PostgreSQL Freunde unter euch. Das bereits vorgestellte pgAdmin 4.x zur grafischen PostgreSQL Datenbank Server Verwaltung kann nun auch aus dem Postgres Repository installiert werden.

Bisher war unter Ubuntu oder Debian nur eine Installation via Python Wheel oder Docker möglich.

pgadmin4

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

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

sudo apt-get update

sudo apt-get install pgadmin4

 

DuckDuckGo Suche über die Kommandozeile

Die Kommandozeile ist für die einen ein Fremdwort, für die anderen ein Stück Heimat.

Natürlich lässt sich damit auch in den Tiefen des Internets forschen, z.B. mit googler, aber auch mit ddgr für DuckDuckGo. Bei beiden handelt es sich um Open Source Suchmaschinen Tools für das Terminal.

Der Vorteil einer Suche mit DuckDuckGo ist Sicherheit. Anders als die bekannte Datenkrake versucht DuckDuckGo so wenig wie möglich an Nutzerdaten zu speichern. Damit auch Kommandozeilenfreunde in diesen Genuss kommen, wurde ddgr entwickelt.

Neben einer normalen Suche unterstützt die Terminalsuche die bekannten Bangs. Eventuell erinnert sich noch jemand an !itrig. Die Suchmaschine erlaubt auch eigene Bangs. (Artikel). Außerdem gibt es weitere Befehle um die Suche einzugrenzen.

Doch zunächst sollte das Kommandozeilen Tool installiert werden.

ddgr

Installation DuckDuckGo Suche für die Kommandozeile

sudo add-apt-repository ppa:twodopeshaggy/jarun
    
sudo apt update
    
sudo apt install ddgr

Verwendung DuckDuckGo Suche auf der Kommandozeile

Einfache Suche

ddgr suchwort

Erstes Suchergebnis öffnen

ddgr -j Suchwort

URLs vollständig anzeigen

ddgr -j Suchwort

Eine Webseite durchsuchen

ddgr -w itrig.de Suchwort

Einen Bang verwenden

ddgr !itrig ssh

Fazit

Die Variante mit dem Bang hat bei mir auf Anhieb leider nicht funktioniert. Ansonsten ist die Terminalsuche sicher ganz praktisch, sollte man auf ein Terminal beschränkt sein oder einfach eine Konsole bevorzugen. Der w3m Browser wäre sicherlich noch hilfreich, um das Terminalerlebnis zu vervollständigen.

Download ddgr