Mit ‘PostgreSQL’ getaggte Artikel

Vorgestellt: Neue Features in PostgreSQL 9.2

Donnerstag, 18. Oktober 2012

Im Hosting-Bereich hat sich MySQL als Datenbank allgemein durchgesetzt. Aber auch ein Blick auf die Alternative PostgreSQL lohnt sich. Diese Datenbank glänzt seit vielen Versionen durch sehr interessante Funktionen, die kürzlich veröffentlichte Version 9.2 bietet gänzlich neue Möglichkeiten der Programmierung. In diesem Beitrag sollen 2 Neuerungen kurz vorgestellt werden.

Der neue Datentyp RANGE DATA TYPES:

Dieser Datentyp kann einen Bereich (RANGE) von Daten abbilden, z.B. feste Zahlen (von 2 bis 7), numerische Daten (von 7.21 bis 8.56) oder Zeitwerte. Prüfen lässt sich damit zum Beispiel, ob ein Wert innerhalb eines bestimmten Bereiches liegt. Eine Indexierung wird ebenfalls unterstützt, damit die Prozesse auch bei großen Datenmengen schnell ablaufen.

Eine Anwendung für RANGE DATA TYPES könnte z.B. die Preisermittlung sein. Dabei werden abhängig von der gekauften Stückzahl (z.B. Rabatte) und vom Kaufdatum (z.B. Hochsaison) unterschiedliche Preise für ein Produkt definiert. Dies kann so erfolgen:

 

 

 

 

 

 

 

 

 

 

 

 

 

Nun eine Abfrage für Produkt 1/ 3 Stück/ am 5. Februar 2012:

 

 

 

 

 

Die Syntax der RANGE-Angaben bedarf einer kurzen Erklärung:
- [eckige Klammern] bedeuten inklusive der Werte
- (runde Klammern) bedeuten exklusive der Werte

Folglich bedeutet [1,5) alle Werte von 1 bis 5, inklusive der 1 und exklusive der 5. Damit speichert eine Spalte vier Parameter: Start und Ende des Bereiches sowie die jeweilige Grenzinformation. Der Operator @> prüft, ob der Wert in der Range liegt bzw. ob die Range diesen Wert enthält. Menge 5 würde also in [5,10) sein, nicht aber in [1,5).

Durch die neuen Möglichkeiten der RANGE-Typen ist die Abfrage deutlich einfacher als dies bisher möglich war. Durch den definierten Index erfolgt die Abfrage auch bei Millionen von Datensätzen sehr schnell.

Mit RANGE-Typen ist aber noch mehr möglich: So wie es UNIQUE-CONSTRAINTS gibt (die verhindern, dass ein und derselbe Wert mehrfach in einer Spalte vorkommt), können auf RANGE-Spalten EXCLUSION-CONSTRAINTS definiert werden. Diese erweitern die Gleichheitsbedingung eines konkreten Wertes auf Überschneidung von Wertebereichen.

Ein Beispiel: Angenommen, Sie vermieten Zimmer. Dabei soll natürlich ein und dasselbe Zimmer nicht doppelt belegt werden. Dies via Datenbank abzusichern war bis jetzt faktisch unmöglich, nun ist das sehr simpel.

 

 

 

Die letzte Anweisung erstellt dabei einen EXCLUSION CONSTRAINT, der prüft, dass Kombinationen von nr (verglichen mit Gleichheit =) und belegt (verglichen mit dem Überlappungsoperator für Ranges &&) nicht doppelt vorkommen.

Jetzt wird versucht, 2 Datensätze zu speichern: Dabei wird ein Zimmer mit einer Überschneidung vom 10. bis zum 20. August doppelt belegt:

Beim 2. Insert bekommen wir, da sich der Zeitraum mit dem ersten Datensatz überschneidet, diese Fehlermeldung:


Damit sagt uns die Datenbank umgehend, wenn ein Zimmer mehrfach belegt ist und wir brauchen dies nicht mehr umständlich in der Anwendung zu prüfen.

JSON

Die nächste Neuerung in 9.2 verlagert ebenfalls eine Aufgabe direkt in die Datenbank: Die Konvertierung einer Ergebnismenge in JSON. Dieser Datentyp wird oft bei der Programmierung von Webseiten verwendet. In PostgreSQL 9.2 können nun direkt JSON-Dokumente gespeichert werden.

Die Datenbank prüft dabei, ob das Dokument valide ist. Man kann das Resultat einer Abfrage aber auch als JSON ausgeben lassen und spart sich damit die Konvertierung in der Anwendung.

Für unsere am Anfang erstellte Preistabelle würde dies so aussehen:

Diese Ausgabe ist ein fertiges JSON-Dokument, welches direkt weiter verwendet werden kann.

Fazit: Wer selber mit SQL programmiert, sollte sich diese Datenbank näher anschauen. Sie bietet Lösungen, die direkt in der Datenbank und damit sehr nah an den Daten arbeiten. Das führt im Ergebnis zu vereinfachter Programmierung und besserer Performance der Anwendung.

Interesse an PostgreSQL geweckt? internet24 unterstützt und nutzt selbst seit Jahren PostgreSQL in aktueller Version. Wir beraten Sie gern.

PostgreSQL-Konferenz: Ein Rückblick

Dienstag, 22. November 2011

Während sich andere der Narrenfreiheit hingaben, trainierten unsere Techniker ihr IT-Brain. Andreas Kretschmer, Frank Epperlein und Thomas Günther waren am 11.11.2011 gemeinsam auf der ersten deutschsprachigen PostgreSQL-Konferenz in Oberhausen. Im Rheinischen Industriemuseum drehte sich alles rund um das Thema PostgreSQL für Anwender und Entwickler.

internet24  unterstützt PostgreSQL als Premium-Hoster im Shared Webhosting und auf Managed Servern bereits seit 12 Jahren in der aktuellsten Version. Deshalb haben wir die Konferenz gerne als Sponsor begleitet. Für Hauptorganisator und PostgreSQL-Spezi Andreas Scherbaum war das Event ein voller Erfolg, wie man auf seinem BLOG nachlesen kann.

Bei unseren Technikern hat die Konferenz natürlich auch einen Eindruck hinterlassen, den sie gerne mit unseren Lesern teilen. So blieb Andreas Kretschmer, der die Konferenz übrigens mitgeplant hat, zum Beispiel die Eröffnungsrede von Astrid Emde sehr gut in Erinnerung. Sie gehört zum Entwickler-Team von Mapbender, einem Projekt der Open Source Geospatial Foundation, und sprach über das Zusammenspiel von „PostGIS“ und „PostgreSQL“ bei der Speicherung und Verarbeitung von Geodaten.

Dabei stellte sie heraus, dass PostGIS von PostgreSQL profitiert, weil sich damit neue komplexe Datentypen und Funktionen recht einfach einbinden lassen. PostgreSQL wiederum profitiert von PostGIS, weil PostGIS hohe Anforderungen an die Datenbank stellt und die Erfahrungen daraus in die Weiterentwicklung von PostgreSQL einfließen. Alles in allem fand Andreas Kretschmer die erste deutschsprachige Konferenz toll und freut sich bereits auf die nächste.

Eindrücke aus dem Rheinischen Industriemuseum in Oberhausen

Auch Frank Epperlein war von der Machart begeistert. Die Redner waren kompetent und die Vorträge inhaltlich abwechslungsreich. „Wenn die Themen im nächsten Jahr erneut so interessant sind, bin ich auf jeden Fall wieder dabei“ – höchstwahrscheinlich mit Thomas Günther im Schlepptau, dem Dritten im Bunde. Er fand neben den Vorträgen das Ambiente im Rheinischen Industriemuseum Oberhausen beeindruckend. Und aus den angeregten Diskussionen mit anderen Teilnehmern nahm er neue Impulse für die tägliche Arbeit mit.

Für alle, die es genauer wissen wollen, gibt es jetzt die Lieblingsvorträge der Drei zum Nachlesen:

Vortrag zum Thema „PostgreSQL Durability & Performance“, Simon Riggs

Vortrag zum Thema „PostgreSQL – Indexes und Performance Tuning”, Hans-Jürgen Schönig

Vortrag zum Thema „Tuning von PostGIS mit Read-Only-Daten von OpenStreetMap“, Stefan Keller

Deutschsprachige PostgreSQL-Konferenz am 11.11.2011

Montag, 10. Oktober 2011

PGConf.DE 2011 ist die deutschsprachige Fortsetzung der sehr erfolgreichen letztjährigen PostgreSQL-Konferenz. Die deutschsprachige PostgreSQL-Konferenz 2011 wird am 11. November im Rheinischen Industriemuseum in Oberhausen stattfinden.

Es werden Themen für PostgreSQL-Anwender, Entwickler und Interessierte sowie Entscheidungsträger behandelt.

internet24 stellt PostgreSQL in der aktuellsten Version bereits seit über 10 Jahren in allen Webhosting-Tarifen sowie auf Managed Servern zur Verfügung und unterstützt die deutschsprachige PostgreSQL-Konferenz als Gold-Sponsor.

Die Anmeldung zur Konferenz erfolgt ab sofort online. Die Teilnahmegebühr (zwischen 10 € und 60 €) beinhaltet das Mittagsbuffet sowie Getränke und berechtigt gleichzeitig zum Eintritt zur OpenRheinRhur für das darauf folgende Wochenende.

Neue PostgreSQL-Version / PGDay Europe

Mittwoch, 01. Dezember 2010

Pünktlich zum diesjährigen PGDay Europe vom 06. bis 08. Dezember in Stuttgart unterstützt internet24 ab sofort die aktuelle PostgreSQL-Version 9.0 in allen Shared Webhostingtarifen und dedizierten Servern.

Die neue Version enthält Verbesserungen in den Bereichen Sicherheit, Anwendungsunterstützung, Monitoring, Performance und beim Speichern von Spezialdaten.

PostgreSQL 9.0 enthält mehr als ein Dutzend zusätzlicher wichtiger Verbesserungen, die jeden Aspekt des Applikationsdesigns und der Performance verbessern. Zum Beispiel: Support für 64-Bit Windows, bedingte und spaltenbasierte Trigger, In-place Upgrades von 8.3 und 8.4, Deferrable Unique Constraints und ein hochperformantes Nachrichtensystem. (Quelle: postgresql.org)

Die neue PostgreSQL-Version wird auch das Hauptthema des diesjährigen PGDay sein. Die PostgreSQL-Konferenz unterteilt sich in zwei Tage mit technischen Vorträgen und einen Tag mit Schulungen. internet24 unterstützt PostgreSQL bereits seit über 12 Jahren und wird auch auf dem diesjährigen PGDay präsent sein.