2168445

Datenbank

PostgreSQL 9.5 freigegeben

11.01.2016 | 09:22 Uhr |

Die PostgreSQL-Entwickler haben Version 9.5 des freien objektrelationalen Datenbanksystems PostgreSQL offiziell veröffentlicht. Neuerungen sind unter anderem eine UPSERT-Operation, Zugriffsrechte für einzelne Tabellenzeilen und schnellere Indexe.

PostgreSQL 9.5 enthält eine lange Reihe von Neuerungen. Die meisten Änderungen kann man in den ausführlichen Anmerkungen zu PostgreSQL 9.5 im Wiki nachlesen.

Schon jetzt kann man in PostgreSQL Tabellen definieren, die auf anderen Datenbank-Servern ( FOREIGN ) liegen. Bisher musste man die Struktur dieser Tabellen im Detail von Hand festlegen, jetzt kann man sie mit der neuen Anweisung IMPORT FOREIGN SCHEMA auf einen Schlag importieren. FOREIGN -Tabellen können jetzt zudem bei der Definition von lokalen Tabellen erben und umgekehrt.

Die Zugriffsrechte auf Daten können nun zeilenweise definiert werden. Mit CREATE POLICY lassen sich verschiedene Bedingungen angeben, welcher Benutzer auf Zeilen welchen Inhalts zugreifen darf.

Die neuen BRIN (Block Range)-Indexe ermöglichen es, wenn definiert, mit sehr wenig zusätzlichem Platzbedarf bestimmte Abfragen um ein Mehrfaches zu beschleunigen. Die neuen Direktiven GROUPING SETS , CUBE und ROLLUP dagegen machen es möglich, Daten in Mengen zu aggregieren, wobei die üblichen Funktionen wie count , sum usw. verwendet werden können.

JSONB-Daten können nun in SQL-Anweisungen auch geändert werden. Eine weitere bedeutende, aber auch ziemlich komplexe Änderung sind INSERT ... ON CONFLICT -Anweisungen. Diese versuchen zunächst einen Datensatz ganz normal einzufügen. Im Falle eines Konflikts, der normalerweise dadurch entsteht, dass ein Datensatz mit identischen Indexwerten bereits existiert, kann anstelle des INSERT eine UPDATE -Operation spezifiziert werden. Der Vorteil dieser Neuerung gegenüber anderen Verfahren ist, dass sie atomar abläuft. MySQL und wahrscheinlich auch andere Datenbanken besitzen ähnliche Funktionalität, aber mit anderer Syntax.

Das neue Programm pg_rewind dient bei der Datenbank-Replikation dazu, einen alten primären Server mit einem neuen zu synchronisieren, ohne ein Backup der Datenbank einspielen zu müssen. Weitere Neuerungen sind die Möglichkeit, Tabellen nachträglich zwischen »logged« und »unlogged« umzuschalten, SELECT -Anweisungen mit der SKIP LOCKED -Option, um gerade gesperrte Datensätze auszulassen, Parallelisierung der Vacuum-Operation, Zugriff auf den Zeitstempel, zu dem eine Transaktion committet wurde, »abgekürzte« Schlüssel auf Text-Spalten zur Beschleunigung von Sortieroperationen, die TABLESAMPLE -Direktive zur Selektion einer zufälligen Stichprobe aus einer Tabelle, geringerer Speicherverbrauch sowie diverse Optimierungen der Skalierbarkeit und Geschwindigkeit.

Noch ausführlichere Informationen bieten die Anmerkungen zur Veröffentlichung von PostgreSQL 9.5. Der Download ist von der Downloadseite möglich. [ Quelle: pro-linux.de ]

0 Kommentare zu diesem Artikel
2168445