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

 

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

 

Anleitung: PostgreSQL 9.x Installation auf Postgres 10 aktualisieren

PostgreSQL 10 ist nun seit ein paar Monaten auf dem Markt. Somit kann an ein Update der bestehenden Infrastruktur gedacht werden.

Diese kurze Anleitung soll zeigen, wie ein Update einer 9.x Installation auf die aktuelle Version 10 unter Ubuntu Server gelingt.

PostgreSQL Server 9.x auf Version 10 aktualisieren

Zunächst wird das aktuelle Repository hinterlegt.

sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-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

Nun kann die aktuelleste Version installiert werden

sudo apt-get dist-upgrade

oder

sudo apt install postgresql-10

Zur Überprüfung ob auch beide Versionen vorhanden sind können die aktiven DB Cluster aufgelistet werden

pg_lsclusters

ls_clusterNun kann das neue 10er Cluster angehalten und das bestehende aktualisiert werden.

sudo pg_dropcluster 10 main --stop

sudo pg_upgradecluster 9.5 main

Danach sollte wieder ein kurzer Check gemacht werden, bevor das alte System entfernt wird. Ich prüfe hier nur den Prozess.

Am besten die Datenbanken oder Anwendungen direkt auf Funktion prüfen, bevor die alte Version entfernt wird.

ps aux

sudo pg_dropcluster 9.5 main

postgres

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

 

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