www.wikidata.de-de.nina.az
PostgreSQL englisch peʊstgɹɛs kjʊ ɛl 6 oft kurz Postgres genannt 7 ist ein freies objektrelationales Datenbankmanagementsystem ORDBMS Seine Entwicklung begann in den 1980er Jahren seit 1997 wird die Software von einer Open Source Community weiterentwickelt PostgreSQLBasisdatenEntwickler PostgreSQL Global Development GroupErscheinungsjahr 8 Juli 1996 1 Aktuelle Version 16 0 2 14 September 2023 Betriebssystem Unix Derivate Linux Microsoft Windows macOSProgrammiersprache C 3 4 Kategorie Datenbanksystem ServerLizenz PostgreSQL Lizenz 5 vergleichbar der BSD Lizenz oder der MIT Lizenzdeutschsprachig neinwww postgresql orgPostgreSQL ist weitgehend konform mit dem SQL Standard SQL 2011 8 das heisst der Grossteil der Funktionen ist verfugbar und verhalt sich wie definiert PostgreSQL ist vollstandig ACID konform inklusive der Data Definition Language und unterstutzt erweiterbare Datentypen Operatoren Funktionen und Aggregate 9 Obwohl sich die Entwicklergemeinde sehr eng an den SQL Standard halt gibt es dennoch eine Reihe von PostgreSQL spezifischen Funktionalitaten wobei in der Dokumentation bei jeder Eigenschaft ein Hinweis erfolgt ob dies dem SQL Standard entspricht oder ob es sich um eine spezifische Erweiterung handelt Daruber hinaus verfugt PostgreSQL uber ein umfangreiches Angebot an Erweiterungen durch Dritthersteller wie zum Beispiel PostGIS zur Verwaltung von Geodaten PostgreSQL ist in den meisten Linux Distributionen enthalten Apple liefert von der Version Mac OS X Lion 10 7 an PostgreSQL als Standarddatenbank aus Inhaltsverzeichnis 1 Geschichte 2 Eigenschaften 2 1 Erweiterungen 2 2 Grenzwerte 2 3 Upgrade der Datenbank 2 4 Versionen 3 Softwarewerkzeuge 4 Preise und Auszeichnungen 5 Siehe auch 6 Literatur 7 Weblinks 7 1 Produkt 7 2 Werkzeuge und Erlauterungen 8 EinzelnachweiseGeschichte Bearbeiten nbsp PostgreSQL ZeitleistePostgreSQL zuvor bekannt unter dem Namen Postgres spater Postgres95 entstand aus einer Datenbankentwicklung der University of California in Berkeley Den Anfang stellte dabei das Ingres Projekt dar wobei der Hauptverantwortliche Michael Stonebraker 1982 die Universitat verliess um Ingres kommerziell zu vertreiben Nachdem Stonebraker 1985 wieder zur Universitat zuruckgekehrt war startete er das Post Ingres Projekt um die Probleme der damaligen Datenbankmanagementsysteme zu korrigieren Die Codebasis des ersten Postgres ist dabei eine andere als die von Ingres 1989 wurde die erste Version von Postgres fertiggestellt Im Jahre 1994 wurde Postgres von den Studenten Andrew Yu und Jolly Chen um einen SQL Interpreter erweitert und die Software als Open Source unter dem Namen Postgres95 freigegeben Der Postgres95 Code entsprach dem ANSI C Standard und wurde um 25 verkleinert weiterhin wurden Leistung und Zuverlassigkeit verbessert Postgres95 Version 1 0 x war im Wisconsin Benchmark 30 bis 50 Prozent schneller als Postgres Version 4 2 Im Zuge der Entwicklung des World Wide Web verstarkte sich das Interesse an Datenbanken 1996 erhielt Postgres seinen neuen Namen PostgreSQL Die erste unter diesem Namen veroffentlichte Version ist 6 0 Seither wurde PostgreSQL fortlaufend weiterentwickelt Eigenschaften BearbeitenUmfassendes Transaktionskonzept das Multiversion Concurrency Control MVCC unterstutzt Ermoglicht komplexe Abfragen mit Unterabfragen Subselects auch geschachtelt Referentielle Integritat unter anderem Constraints Fremdschlussel Mengenoperationen Vererbung von Tabellen Maximale Datenbankgrosse nur durch zur Verfugung stehenden Speicher begrenzt Views die mit Hilfe von Regeln Rules und Triggers auch schreibfahig sein konnen Updatable Views Trigger und gespeicherte Prozeduren stored procedures sind in verschiedenen Sprachen moglich PL pgSQL PL c PL Tcl PL Python PL Perl PL Java PL PHP PL Ruby PL R PL sh PL Scheme PL Parrot PL V8 derzeit noch experimentell Schnittstellen zu vielen Programmiersprachen unter anderem C C Object Pascal Java JDBC Tcl PHP Perl Python Ruby Xojo sowie zu ODBC und Net Framework Lauffahig auf vielen Unix Plattformen von Version 8 0 an auch nativ unter Microsoft Windows Export und Import sowohl von Daten als auch von Datenbankstrukturen Schemata Erweiterbarkeit durch Funktionen selbstdefinierbare Datentypen und Operatoren Asynchrone und synchrone Replikation Der Vorteil der synchronen Replikation liegt in der Sicherstellung dass die Transaktion mindestens auf zwei Servern tatsachlich ausgefuhrt wurde womit eine vollstandige Sicherung jederzeit garantiert werden kann Hot Standby Diese Ausfallsicherheit wird naturgemass durch eine langere Wartezeit auf das Commit erkauft Daher gibt es auch die Moglichkeit besonders wichtige Geschaftsprozesse wie finanzielle Transaktionen synchron zu replizieren und bei weniger wichtigen Transaktionen wie der Aufzeichnung der Benutzerinteraktionen die sehr viel schnellere asynchrone Replikation zu nutzen Erweiterungen Bearbeiten Eine Reihe von durch den Benutzer zu installierenden Zusatzmodulen steht zur Verfugung darunter mit GiST Generalized Search Tree eine universelle Schnittstelle um Such und Sortierverfahren in weiten Grenzen selbst definieren zu konnen Eine Anwendung davon ist PostGIS das geografische Objekte und Datenstrukturen verwalten und damit als Datenbank fur Geoinformationssysteme GIS dienen kann Eine andere GiST Anwendung ist OpenFTS Open Source Full Text Search das Volltextrecherche in DB Objekten erlaubt Eine Reihe von Erweiterungen beschaftigt sich mit Clustering und Replizierung dem parallelen Einsatz und Abgleich verteilter DB Server Grenzwerte Bearbeiten In diesem Abschnitt werden einige Beschrankungen einer alteren Version beschrieben Da inzwischen neuere Releases bereitgestellt wurden konnten einige davon weggefallen sein Die hier beschriebenen Beschrankungen betreffen die Versionen 8 4 bis 9 5 10 maximale Grosse der Datenbank unbeschrankt maximale Grosse einer Tabelle 32 TB maximale Grosse eines Datensatzes 1 6 TB maximale Grosse einer Zelle 1 GB maximale Anzahl Zeilen pro Tabelle unbeschrankt VARCHAR und TEXT Spalten konnen nicht grosser als 1 GB sein Die maximale Anzahl der Spalten pro Tabelle ist abhangig von den verwendeten Datentypen und liegt zwischen 250 und 1600Upgrade der Datenbank Bearbeiten Jede Nebenversionsnummer wird von der PostgreSQL Entwickler Community funf Jahre lang weitergepflegt Revisionen enthalten Leistungsverbesserungen und Fehlerbereinigungen aber niemals neue Funktionen Die alteste derzeit Stand 06 2022 noch gepflegte Versionslinie ist 10 die im Oktober 2017 erschien 11 Bei einer Software Aktualisierung mussen bestehende Datenbanken vorher gesichert danach in der neuen PostgreSQL Version neu angelegt und die Daten aus der vorherigen Sicherung eingespielt werden Dies ist dann erforderlich wenn sich die zweite oder erste Stelle der Versionsnummer geandert hat nicht jedoch bei Anderungen der dritten Stelle Alle heute unterstutzten Versionen liefern ein Werkzeug namens pg upgrade 12 mit welches das Datenverzeichnis ohne das vorher notwendige Sichern und Wiedereinspielen der Datenbank aktualisieren kann Nach einem Import einer Datenbank sollte der Befehl Analyse ausgefuhrt werden damit die Analyse Tabelle pg statistic richtig befullt wird Unterbleibt eine Analyse kann dies zu Performanzproblemen fuhren 13 Auch wird geraten diesen Befehl einmal am Tag zu betriebsarmen Zeiten durchzufuhren um die Performanz zu erhalten Auch sollte der Befehl Vakuum regelmassig ausgefuhrt werden um die Datenbankgrosse zu beschranken 14 Versionen Bearbeiten Version Veroffentlicht am Beschreibung Anmerkung7 4 17 November 20038 0 19 Januar 2005 Von der Version 8 0 an unterstutzt PostgreSQL Windows Eine weitere Neuerung ist die Unterstutzung von Sicherungspunkten Savepoints Mit diesen ist es moglich eine Transaktion an einem vorher gespeicherten Sicherungspunkt fortzusetzen falls diese durch einen Fehler abgebrochen wurde 8 3 Februar 2008 Version 8 3 brachte eine Reihe von Leistungsverbesserungen sowie Funktionserweiterungen darunter Volltextrecherche die bisher als Zusatzprodukt verfugbar war ist nun in den Kern der DB integriert XML Verarbeitung wird durch einen XML Datentypen unterstutzt der jeweils ein XML Dokument enthalt bei Abfragen konnen nun etwa SQL mit XPath Queries in einer Transaktion kombiniert werden Dieses Verfahren wurde 2006 bei Db2 von IBM vorgestellt Datentypen ENUM und UUID 9 0 September 2010 Version 9 0 brachte Funktionen fur Replikation und Hot Standby und Verbesserungen bei Sicherheit Monitoring und speziellen Datentypen 15 9 1 12 September 2011 Version 9 1 brachte eine Verbesserung der Hochverfugbarkeit bei Betrieb von mehreren Servern mit Hilfe synchroner Replikation Zugriff auf fremde Datenquellen spaltenweise linguistisch korrekte Sortierbarkeit Einbindung von Erweiterungen sowie eine Reihe weiterer Verbesserungen 16 9 2 10 September 2012 Version 9 2 enthalt in erster Linie neue Funktionalitaten zur Verbesserung der Performance 17 9 3 9 September 2013 Wesentliche Verbesserungen sind im Bereich der Unterstutzung von JSON bei materialisierten Views und beschreibbaren Views 9 4 18 Dezember 2014 Beschleunigte Verarbeitung von JSON Daten durch das binare Format JSONB 9 5 7 Januar 2016 Row level security control Block Range Indexes BRIN IMPORT FOREIGN SCHEMA pg rewind hinzugefugt 18 9 6 29 September 2016 Die wichtigsten Anderungen betreffen vertikale scale up als auch horizontale scale out Skalierung parallelisierte Abfragen Phrasensuche und Verbesserungen bei synchroner Replikation sowie generelle verbesserte Performance und Benutzerfreundlichkeit 19 10 5 Oktober 2017 Die wichtigsten Anderungen betreffen deklarative Partitionierung logische Replikation verbesserte Abfrage Parallelisierung und bessere Password Hashes 20 11 18 Oktober 2018 21 Es wurde weiter die Robustheit und die Leistung fur die Partitionierung die Unterstutzung von Transaktionen in gespeicherten Prozeduren und die Abfrageparallelitat in parallel laufenden Abfragen verbessert Es gibt nun auch eine Just in Time Kompilierung JIT fur Ausdrucke 11 3 9 Mai 2019 22 11 4 20 Juni 2019 23 11 5 8 August 2019 24 12 3 Oktober 2019 Verbesserung in der Abfragegeschwindigkeit und Abfrage von SQL JSON Ausdrucken Mit dieser Version ist es nun auch moglich das Table Storage auszutauschen 25 13 25 September 2020 26 14 30 September 2021 Die Veranderungen betreffen Komfort beim Umgang mit JSON Daten und Multi Ranges Performance fur ressourcenintensive Lasten Verbesserungen fur verteilte Datenbanken Administration und Fortschrittsanalyse SQL Performance Konformitat und Komfort Sicherheit vordefinierte Rollen Passwortstandard SCRAM SHA 256 als Standard 27 15 13 Oktober 2022 SQL MERGE Befehl Verbesserte Sortieralgorithmen Server Logging ist nun auch im JSON Format verfugbar 28 Softwarewerkzeuge BearbeitenPostgreSQL selbst lauft als Hintergrundprozess und kann auf verschiedene Weise interaktiv bedient werden Fur die kommandozeilenorientierte Bedienung wird die Konsolenanwendung psql mit der Installation mitgeliefert Programme mit grafischer Benutzeroberflache zur Bedienung und Verwaltung der Datenbank mussen oft gesondert installiert werden freie Produkte sind etwa PgAdmin 29 und phpPgAdmin Daneben werden eine Vielzahl von kommerziellen Werkzeugen angeboten die auch grafische CASE Modellierung Im und Export Funktionen oder DB Monitoring bieten Ein MySQL Migrationshilfswerkzeug ist in jedem freien PostgreSQL Downloadpaket von EnterpriseDB 30 enthalten Ein wichtiges Werkzeug zur Konfiguration der Datenbank ist das Python Script pgtune 31 Die Standardeinstellungen der Datenbank sind oftmals nicht auf die verwendete Hardware angepasst pgtune zeigt Losungsvorschlage auf wie man die Datenbank tunen kann um die Leistung der Datenbank deutlich zu steigern Es gibt ein Online Tool um die wichtigsten Einstellungen der Datenbank zu ermitteln 32 Anfanger tun sich oftmals schwer die geeigneten Konfigurationsparameter zu ermitteln 33 Ohne geeignete Konfiguration ist die Datenbank oftmals wenig performant 34 Das Tool wurde ursprunglich von Greg Smith 2ndQuadrant entwickelt Preise und Auszeichnungen BearbeitenAn PostgreSQL wurden in der Vergangenheit zahlreiche Preise vergeben 35 Nicht zuletzt erhielt das Projekt den Lifetime Achievement Award im Rahmen der O Reilly Open Source Convention 2019 36 37 Siehe auch BearbeitenPyGreSQL eine Python Programmbibliothek fur PostgreSQLLiteratur BearbeitenLutz Frohlich PostgreSQL 9 Praxisbuch fur Administratoren und Entwickler Hanser Munchen 2013 ISBN 978 3 446 42239 1 Peter Eisentraut Bernd Helmle PostgreSQL Administration O Reilly 2013 ISBN 978 3 86899 361 5 Ioannis Papakostas Datenbankentwicklung mit PostgreSQL 9 TEIA AG Internet Akademie und Lehrbuch Verlag Berlin 2010 ISBN 978 3 942151 06 1 Andreas Scherbaum PostgreSQL Datenbankpraxis fur Anwender Administratoren und Entwickler Open Source Press Munchen 2009 ISBN 978 3 937514 69 7 Weblinks Bearbeiten nbsp Commons PostgreSQL Sammlung von Bildern Videos und Audiodateien Produkt Bearbeiten www postgresql org offizielle Webprasenz englisch www postgres de deutsche Website betreffs PostgreSQLWerkzeuge und Erlauterungen Bearbeiten PGXN englisch PostgreSQL Extension Network Vortrag vom Chaos Computer Club Ulm PostgreSQL Ein Elephant vergisst nie Video Audio Podcast dev radio zu PostgreSQL FAQ auf sql info deEinzelnachweise Bearbeiten www postgresql org abgerufen am 9 Juni 2017 PostgreSQL 16 Released 14 September 2023 github com The postgres Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 19 Oktober 2018 PostgreSQL License In PostgreSQL org Abgerufen am 11 April 2012 englisch Horbeispiel zur Aussprache von PostgreSQL MP3 Datei 5 6 kB PostgreSQL FAQ What is PostgreSQL How is it pronounced What is Postgres In wiki postgresql org Abgerufen am 27 August 2015 englisch PostgreSQL Documentation 10 Appendix D SQL Conformance In PostgreSQL org Abgerufen am 8 November 2017 englisch PostgreSQL Feature Matrix In PostgreSQL org Abgerufen am 19 Mai 2012 englisch PostgreSQL About In PostgreSQL org Abgerufen am 11 April 2012 englisch PostgreSQL Versioning Policy Abgerufen am 15 Juni 2022 englisch pg upgrade upgrade a PostgreSQL server instance PostgreSQL Server Applications In PostgreSQL Documentation The PostgreSQL Global Development Group abgerufen am 24 Oktober 2021 englisch ANALYZE collect statistics about a database SQL Commands In PostgreSQL Documentation The PostgreSQL Global Development Group abgerufen am 24 Oktober 2021 englisch VACUUM garbage collect and optionally analyze a database SQL Commands In PostgreSQL Documentation The PostgreSQL Global Development Group abgerufen am 24 Oktober 2021 englisch PostgreSQL 9 0 mit eingebauter Replikation In heise online 20 September 2010 abgerufen am 11 April 2012 PostgreSQL 9 1 erschienen Artikel bei Golem de vom 16 September 2011 PostgreSQL 9 2 Release Notes PostgreSQL Online Dokumentation vom 10 September 2012 http www postgresql org docs 9 5 static release 9 5 html http www postgresql org docs 9 6 static release 9 6 html PostgreSQL Documentation 10 E 1 Release 10 Abgerufen am 9 Oktober 2017 englisch PostgreSQL Documentation 11 E 1 Release 11 Abgerufen am 19 Oktober 2018 englisch PostgreSQL 11 3 10 8 9 6 13 9 5 17 and 9 4 22 Released Abgerufen am 17 Juni 2019 PostgreSQL 11 4 10 9 9 6 14 9 5 18 9 4 23 and 12 Beta 2 Released 20 Juni 2019 abgerufen am 27 Juni 2019 englisch PostgreSQL Documentation 11 E 1 Release 11 5 Abgerufen am 13 Oktober 2019 PostgreSQL Documentation 12 E 1 Release 12 Abgerufen am 13 Oktober 2019 PostgreSQL 13 Released Abgerufen am 25 September 2020 PostgreSQL 14 Press Kit The PostgreSQL Global Development Group 30 September 2021 abgerufen am 24 Oktober 2021 deutsch Appendix E Release Notes The PostgreSQL Global Development Group 13 Oktober 2022 abgerufen am 14 Oktober 2022 deutsch pgadmin org englisch Downloadseite fur PostgreSQL Abgerufen am 24 September 2011 Alternatives ClusterControl PostgreSQL Configuration Tool pgtune If you are new to PostgreSQL the most common challenge you face is about how to tune up your database environment Sourcen des Online Tools Liste der Auszeichnungen Memento vom 1 Marz 2012 im Internet Archive auf der Projektseite O Reilly OSCON on Twitter 18 Juli 2019 abgerufen am 27 Marz 2021 Mark Wong PostgreSQL Award EnterpriseDB 23 Juli 2019 abgerufen am 27 Marz 2021 VSQLAnweisungen und Klauseln As Case Create Delete From Having Insert Join Merge Null Order by Prepare Select Truncate Union Update Where WithVarianten PL SQL Transact SQL Open SQL Embedded SQL PostgreSQL Normdaten Sachbegriff GND 4690455 4 lobid OGND AKS Abgerufen von https de wikipedia org w index php title PostgreSQL amp oldid 237413643