|
|
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| {|
| |
| ! Infobox Software !!
| |
| |-
| |
| | Hersteller || [[PostgreSQL Global Development Group]]
| |
| |-
| |
| | Betriebssystem || [[Unixoides System|Unix-Derivate]], [[Linux]], [[Microsoft Windows]], [[macOS]]
| |
| |-
| |
| | Kategorie || [[Datenbank]]system, [[Server]]
| |
| |-
| |
| | Lizenz || PostgreSQL Lizenz<ref>{{Internetquelle |werk=PostgreSQL.org |url=http://www.postgresql.org/about/licence |titel=PostgreSQL: License| sprache=en |zugriff=2012-04-11}}</ref> vergleichbar der [[BSD-Lizenz]] oder der [[MIT-Lizenz]]
| |
| |-
| |
| | Website || [https://www.postgresql.org/ www.postgresql.org]
| |
| |}
| |
|
| |
|
| '''PostgreSQL''' ({{enS}} [{{IPA|,pəʊstgɹɛs kjʊ'ɛl}}])<ref>[http://www.postgresql.org/files/postgresql.mp3 Hörbeispiel zur Aussprache von „PostgreSQL“] (MP3-Datei; 5,6 kB)</ref>, oft kurz '''Postgres''' genannt<ref>{{Internetquelle|titel = PostgreSQL-FAQ|url = https://wiki.postgresql.org/wiki/FAQ#What_is_PostgreSQL.3F_How_is_it_pronounced.3F_What_is_Postgres.3F|zugriff = 2015-08-27|werk = wiki.postgresql.org|titelerg = What is PostgreSQL? How is it pronounced? What is Postgres?|sprache = en}}</ref>, ist ein [[Freie Software|freies]], [[Objektrelationale Datenbank|objektrelationales Datenbankmanagementsystem]] (ORDBMS). Seine Entwicklung begann in den 1980er Jahren, seit 1997 wird die Software von einer [[Open Source|Open-Source]]-[[Gemeinschaft|Community]] weiterentwickelt.
| |
|
| |
| PostgreSQL ist weitgehend konform mit dem [[SQL]]-Standard SQL:2011,<ref>{{Internetquelle |werk=PostgreSQL.org |url=http://www.postgresql.org/docs/current/static/features.html |titel=PostgreSQL: Documentation: 10: Appendix D. SQL Conformance |sprache=en |zugriff=2017-11-08}}</ref> das heißt, der Großteil der Funktionen ist verfügbar und verhält sich wie definiert. PostgreSQL ist vollständig [[ACID]]-konform (inklusive der [[Data Definition Language]]) und unterstützt erweiterbare [[Datentyp]]en, [[Datenbankoperator|Operatoren]], Funktionen und [[Aggregation (OLAP)|Aggregate]]<ref>{{Internetquelle |werk=PostgreSQL.org |url=http://www.postgresql.org/about/featurematrix/ |titel=PostgreSQL: Feature Matrix|sprache=en |zugriff=2012-05-19}}</ref>. Obwohl sich die Entwicklergemeinde sehr eng an den SQL-Standard hält, gibt es dennoch eine Reihe von PostgreSQL-spezifischen Funktionalitäten, 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. Darüber hinaus verfügt PostgreSQL über ein umfangreiches Angebot an Erweiterungen durch Dritthersteller, wie zum Beispiel [[PostGIS]] zur Verwaltung von [[Geodaten]].
| |
|
| |
| PostgreSQL ist in den meisten [[Linux-Distribution]]en enthalten, allerdings oft in der Version, die bei Erscheinen des Release aktuell war. Aktuellere Versionen gibt es für viele Linux-Distributionen in von der PostgreSQL Developer Group bereitgestellten Repositories. [[Apple]] liefert von der Version [[Mac OS X Lion]] (10.7) an PostgreSQL als Standarddatenbank aus.
| |
|
| |
| == Geschichte ==
| |
| [[Datei:Timeline postgresql.png|mini|PostgreSQL-Zeitleiste]]
| |
| PostgreSQL, zuvor bekannt unter dem Namen Postgres, später Postgres95, entstand aus einer Datenbankentwicklung der [[University of California, Berkeley|University of California]] in [[Berkeley]]. Den Anfang stellte dabei das [[Ingres (Datenbanksystem)|Ingres]]-Projekt dar, wobei der Hauptverantwortliche [[Michael Stonebraker]] 1982 die Universität verließ, um Ingres kommerziell zu vertreiben. Nachdem Stonebraker 1985 wieder zur Universität zurückgekehrt 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 Zuverlässigkeit 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]] verstärkte sich das Interesse an Datenbanken. 1996 erhielt Postgres seinen neuen Namen PostgreSQL. Die erste unter diesem Namen veröffentlichte Version ist 6.0. Seither wurde PostgreSQL fortlaufend weiterentwickelt.
| |
|
| |
| == Eigenschaften ==
| |
| * Umfassendes [[Transaktion (Informatik)|Transaktionskonzept]], das [[Multiversion Concurrency Control]] (MVCC) unterstützt
| |
| * Ermöglicht komplexe [[Abfragesprache|Abfragen]] mit Unterabfragen (Subselects), auch geschachtelt
| |
| * Referentielle [[Integritätsbedingung|Integrität]] (unter anderem [[Constraint]]s, Fremdschlüssel)
| |
| * Mengenoperationen
| |
| * Sehr umfangreiches Angebot an [[Datentyp]]en, auch über den im ANSI/ISO Standard beschriebenen hinaus. Beispielsweise können [[IP-Adresse]]n, [[MAC-Adresse]]n, zweidimensionale geometrische Figuren (Kreis, Linie, Polygon usw.) und Bereiche (von/bis) gespeichert werden.
| |
| * Maximale Datenbankgröße nur durch zur Verfügung stehenden Speicher begrenzt
| |
| * [[Sicht (Datenbank)|Views]], die mit Hilfe von Regeln (Rules und Triggers) auch schreibfähig sein können ''(Updatable Views)''
| |
| * [[Datenbanktrigger|Trigger]], [[Funktion (Programmierung)|Funktionen]] und [[gespeicherte Prozedur]]en (stored procedures) sind in verschiedenen Sprachen möglich: [[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 [[Programmiersprache]]n, unter anderem [[C (Programmiersprache)|C]], [[C++]], [[Object Pascal]], [[Java (Programmiersprache)|Java]]/[[Java Database Connectivity|JDBC]], [[Tcl]], [[PHP]], [[Perl (Programmiersprache)|Perl]], [[Python (Programmiersprache)|Python]], [[Ruby (Programmiersprache)|Ruby]], [[Xojo]] sowie zu [[Open Database Connectivity|ODBC]] und [[.Net-Framework]]
| |
| * Lauffähig 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 (Datenverarbeitung)|Replikation]]. Der Vorteil der synchronen Replikation liegt in der Sicherstellung, dass die Transaktion mindestens auf zwei Servern tatsächlich ausgeführt wurde, womit eine vollständige Sicherung jederzeit garantiert werden kann (Hot Standby). Diese Ausfallsicherheit wird naturgemäß durch eine längere Wartezeit auf das [[Commit]] erkauft. Daher gibt es auch die Möglichkeit, besonders wichtige Geschäftsprozesse 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 ===
| |
| Eine Reihe von durch den [[Benutzer]] zu installierenden Zusatzmodulen steht zur Verfügung, darunter mit GiST (Generalized Search Tree) eine universelle [[Schnittstelle]], um Such- und Sortierverfahren in weiten Grenzen selbst definieren zu können. Eine Anwendung davon ist [[PostGIS]], das geografische Objekte und Datenstrukturen verwalten und damit als Datenbank für [[Geoinformationssystem]]e (GIS) dienen kann. Eine andere GiST-Anwendung ist [[OpenFTS]] ([[Open Source]] Full Text Search), das [[Volltextrecherche]] in DB-Objekten erlaubt.
| |
|
| |
| Eine Reihe von Erweiterungen beschäftigt sich mit [[Rechnerverbund|Clustering]] und [[Replikation (Datenverarbeitung)|Replizierung]], dem parallelen Einsatz und Abgleich verteilter DB-[[Server]].
| |
|
| |
| Viele Erweiterungen bieten zusätzliche Datentypen an, beispielsweise solche für [[IBAN]]s<ref>{{cite web|url = https://github.com/yorickdewid/PostgreSQL-IBAN | title = PostgreSQL IBAN | access-date = 2023-11-20 | language = EN}}</ref>, [[ISBN]]s, [[European Article Number|EANs]]. Einige Erweiterungen sind im Lieferumfang des Projekts bereits enthalten und brauchen lediglich für die jeweilige Datenbank (nicht den Server an sich) aktiviert zu werden.
| |
|
| |
| === Grenzwerte ===
| |
| In diesem Abschnitt werden einige Beschränkungen einer älteren Version beschrieben. Da inzwischen neuere Releases bereitgestellt wurden, könnten einige davon weggefallen sein.
| |
|
| |
| Die hier beschriebenen Beschränkungen betreffen die Versionen 8.4 bis 9.5:<ref>{{Internetquelle |werk=PostgreSQL.org |url=http://www.postgresql.org/about/ |titel=PostgreSQL: About |zugriff=2012-04-11 |sprache=en}}</ref>
| |
|
| |
| * maximale Größe der Datenbank: unbeschränkt
| |
| * maximale Größe einer Tabelle: 32 [[Byte|TB]]
| |
| * maximale Größe eines Datensatzes: 1,6 TB
| |
| * maximale Größe einer Zelle: 1 GB
| |
| * maximale Anzahl Zeilen pro Tabelle: unbeschränkt
| |
| * VARCHAR- und TEXT-Spalten können nicht größer als 1 GB sein
| |
| * Die maximale Anzahl der Spalten pro Tabelle ist abhängig von den verwendeten Datentypen und liegt zwischen 250 und 1600
| |
|
| |
| === Upgrade der Datenbank ===
| |
| Jede [[Versionsnummer#Aufbau und Bedeutung|Nebenversionsnummer]] wird von der PostgreSQL-Entwickler-[[Online-Community|Community]] fünf Jahre lang weitergepflegt. Revisionen enthalten Leistungsverbesserungen und Fehlerbereinigungen, aber niemals neue Funktionen. Die älteste derzeit (Stand 11/2023) noch gepflegte Versionslinie ist 11, die im Oktober 2018 erschien.<ref>{{Internetquelle |url=https://www.postgresql.org/support/versioning/ |titel=PostgreSQL: Versioning Policy |sprache=en |abruf=2023-11-20}}</ref>
| |
|
| |
| Bei einer Software-Aktualisierung müssen 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 erste Stelle der Versionsnummer geändert hat, nicht jedoch bei Änderungen der zweiten Stelle.
| |
|
| |
| Alle noch unterstützten Versionen liefern ein Werkzeug namens pg_upgrade<ref>{{Internetquelle |url=https://www.postgresql.org/docs/current/pgupgrade.html |titel=pg_upgrade — upgrade a PostgreSQL server instance |titelerg=PostgreSQL Server Applications |werk=PostgreSQL Documentation |hrsg=The PostgreSQL Global Development Group |sprache=EN |abruf=2021-10-24 |abruf-verborgen=0}}</ref> mit, welches das Datenverzeichnis ohne das vorher notwendige Sichern und Wiedereinspielen der Datenbank aktualisieren kann.
| |
|
| |
| Nach einem Import größerer Datenmengen in eine Datenbank sollte der Befehl „<code>ANALYZE</code>“ ausgeführt werden, damit die Analyse Tabelle „pg_statistics“ richtig befüllt wird. Unterbleibt diese Analyse, kann dies zu Performanzproblemen führen.<ref>{{Internetquelle |url=https://www.postgresql.org/docs/current/sql-analyze.html |titel=ANALYZE — collect statistics about a database |titelerg=SQL Commands |werk=PostgreSQL Documentation |hrsg=The PostgreSQL Global Development Group |sprache=EN |abruf=2021-10-24 |abruf-verborgen=0}}</ref> Ansonsten wird dies, genau wie das Kommando „<code>VACUUM</code>“ zur Freigabe von Speicherplatz (eine Art [[Garbage Collection]]) in regelmäßigen Abständen automatisch durchgeführt.<ref>{{Internetquelle |url=https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM |titel=The Autovacuum Daemon| werk=PostgreSQL Documentation |hrsg=The PostgreSQL Global Development Group |sprache=EN |abruf=2023-11-20 |abruf-verborgen=0}}</ref>
| |
| === Versionen ===
| |
| {| class="wikitable"
| |
| |+
| |
| !Version
| |
| !Veröffentlicht am
| |
| !Beschreibung / Anmerkung
| |
| |-
| |
| |7.4
| |
| |17. November 2003
| |
| |
| |
| |-
| |
| |8.0
| |
| |19. Januar 2005
| |
| |Von der Version 8.0 an unterstützt PostgreSQL [[Microsoft Windows|Windows]]. Eine weitere Neuerung ist die Unterstützung von Sicherungspunkten (Savepoints). Mit diesen ist es möglich, 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 verfügbar war, ist nun in den Kern der DB integriert.
| |
| * [[Extensible Markup Language|XML]]-Verarbeitung wird durch einen XML-Datentypen unterstützt, der jeweils ein XML-Dokument enthält; bei Abfragen können nun etwa SQL- mit [[XPath]]-Queries in einer Transaktion kombiniert werden. Dieses Verfahren wurde 2006 bei [[Db2]] von IBM vorgestellt.
| |
| * Datentypen [[Aufzählungstyp|ENUM]] und [[Universally Unique Identifier|UUID]].
| |
| |-
| |
| |9.0
| |
| |September 2010
| |
| |Version 9.0 brachte Funktionen für Replikation und Hot-Standby und Verbesserungen bei Sicherheit, Monitoring und speziellen Datentypen.<ref>{{Internetquelle |url=https://www.heise.de/newsticker/meldung/PostgreSQL-9-0-mit-eingebauter-Replikation-1081820.html |titel=PostgreSQL 9.0 mit eingebauter Replikation |werk=[[heise online]] |datum=2010-09-20 |zugriff=2012-04-11}}</ref>
| |
| |-
| |
| |9.1
| |
| |12. September 2011
| |
| |Version 9.1 brachte eine Verbesserung der Hochverfügbarkeit 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.<ref>[http://www.golem.de/1109/86389.html PostgreSQL 9.1 erschienen] – Artikel bei ''[[Golem.de]]'', vom 16. September 2011.</ref>
| |
| |-
| |
| |9.2
| |
| |10. September 2012
| |
| |Version 9.2 enthält in erster Linie neue Funktionalitäten zur Verbesserung der Performance.<ref>[http://www.postgresql.org/docs/9.2/static/release-9-2.html PostgreSQL 9.2: Release Notes] – PostgreSQL-Online-Dokumentation, vom 10. September 2012.</ref>
| |
| |-
| |
| |9.3
| |
| |9. September 2013
| |
| |Wesentliche Verbesserungen sind im Bereich der Unterstützung von [[JavaScript Object Notation|JSON]], bei [[Sicht (Datenbank)#Materialized View|materialisierten Views]] und beschreibbaren [[Sicht (Datenbank)|Views]].
| |
| |-
| |
| |9.4
| |
| |18. Dezember 2014
| |
| |Beschleunigte Verarbeitung von JSON-Daten durch das binäre Format JSONB.
| |
| |-
| |
| |9.5
| |
| |7. Januar 2016
| |
| |Row-level security control, Block Range Indexes (BRIN), <span style="font-family:monospace;">IMPORT FOREIGN SCHEMA</span>, pg_rewind hinzugefügt.<ref>[https://www.postgresql.org/docs/9.5/release-9-5.html E.26. Release 9.5], auf postgresql.org</ref>
| |
| |-
| |
| |9.6
| |
| |29. September 2016
| |
| |Die wichtigsten Änderungen betreffen vertikale („scale-up“) als auch horizontale („scale-out“) Skalierung, parallelisierte Abfragen, Phrasensuche und Verbesserungen bei synchroner Replikation, sowie generelle verbesserte Performance und Benutzerfreundlichkeit.<ref>[https://www.postgresql.org/docs/9.6/release-9-6.html E.25. Release 9.6], auf postgresql.org</ref>
| |
| |-
| |
| |10
| |
| |5. Oktober 2017
| |
| |Die wichtigsten Änderungen betreffen deklarative Partitionierung, logische Replikation, verbesserte Abfrage-Parallelisierung und bessere Password-Hashes.<ref>{{Internetquelle |url=https://www.postgresql.org/docs/10/static/release-10.html |titel=PostgreSQL: Documentation: 10: E.1. Release 10 |sprache=en |zugriff=2017-10-09}}</ref>
| |
| |-
| |
| |11
| |
| |18. Oktober 2018<ref>{{Internetquelle |url=https://www.postgresql.org/docs/11/static/release-11.html |titel=PostgreSQL: Documentation: 11: E.1. Release 11 |sprache=en |zugriff=2018-10-19}}</ref>
| |
| | rowspan="4" |Es wurde weiter die Robustheit und die Leistung für die Partitionierung, die Unterstützung von Transaktionen in gespeicherten Prozeduren und die Abfrageparallelität in parallel laufenden Abfragen verbessert. Es gibt nun auch eine Just-in-Time-Kompilierung (JIT) für Ausdrücke.
| |
| |-
| |
| |11.3
| |
| |9. Mai 2019<ref>{{Internetquelle |url=https://www.postgresql.org/about/news/1939/ |titel=PostgreSQL 11.3, 10.8, 9.6.13, 9.5.17, and 9.4.22 Released! |zugriff=2019-06-17}}</ref>
| |
| |-
| |
| |11.4
| |
| |20. Juni 2019<ref>{{Internetquelle |url=https://www.postgresql.org/about/news/1949/ |titel=PostgreSQL 11.4, 10.9, 9.6.14, 9.5.18, 9.4.23, and 12 Beta 2 Released |datum=2019-06-20 |sprache=en |zugriff=2019-06-27}}</ref>
| |
| |-
| |
| |11.5
| |
| |8. August 2019<ref>{{Internetquelle |url=https://www.postgresql.org/docs/11/release-11-5.html |titel=PostgreSQL: Documentation: 11: E.1. Release 11.5 |abruf=2019-10-13}}</ref>
| |
| |-
| |
| |12
| |
| |3. Oktober 2019
| |
| |Verbesserung in der Abfragegeschwindigkeit und Abfrage von SQL/JSON-Ausdrücken. Mit dieser Version ist es nun auch möglich, das Table-Storage auszutauschen.<ref>{{Internetquelle |url=https://www.postgresql.org/docs/12/release-12.html |titel=PostgreSQL: Documentation: 12: E.1. Release 12 |abruf=2019-10-13}}</ref>
| |
| |-
| |
| |13
| |
| |25. September 2020<ref>{{Internetquelle |url=https://www.postgresql.org/about/news/2077/ |titel=PostgreSQL 13 Released! |abruf=2020-09-25}}</ref>
| |
|
| |
| |Die Veränderungen betreffen:
| |
|
| |
| * Geringerer Speicherplatzbedarf durch Deduplikation in B-tree Indexen
| |
| * Verbesserte Leistung bei Abfragen, welche Aggregatfunktionen oder partitionierte Tabellen verwenden
| |
|
| |
| * Vakuumieren von Indexen wird parallelisiert ausgeführt.
| |
| |-
| |
| |14
| |
| |30. September 2021
| |
| |Die Veränderungen betreffen:
| |
| * Komfort beim Umgang mit JSON-Daten und Multi-Ranges
| |
| * Performance für ressourcenintensive Lasten
| |
| * Verbesserungen für verteilte Datenbanken, Administration und Fortschrittsanalyse
| |
| * SQL Performance, Konformität und Komfort
| |
| * Sicherheit (vordefinierte Rollen, Passwortstandard SCRAM-SHA-256 als Standard)<ref>{{Internetquelle |sprache=DE |url=https://www.postgresql.org/about/press/presskit14/de/ |titel=PostgreSQL 14 Press Kit |hrsg=The PostgreSQL Global Development Group |datum=2021-09-30 |abruf=2021-10-24}}</ref>
| |
| |-
| |
| |15
| |
| |13. Oktober 2022
| |
| |
| |
| * SQL MERGE Befehl
| |
| * Verbesserte Sortieralgorithmen
| |
| * Server Logging ist nun auch im JSON Format verfügbar<ref>{{Internetquelle |sprache=DE |url=https://www.postgresql.org/docs/15/release.html |titel=Appendix E. Release Notes|hrsg=The PostgreSQL Global Development Group |datum=2022-10-13 |abruf=2022-10-14}}</ref>
| |
|
| |
| * Das <code>public</code>-Schema gehört jetzt immer dem jeweiligen Datenbank-Eigentümer, andere Rollen haben kein Schreibrecht mehr darauf.
| |
| |-
| |
| |16
| |
| |14. September 2023
| |
| |
| |
| * Parallelisierung von Full und Right Outer Hash Joins sowie der Funktionen <code>string_agg()</code> und <code>array_agg()</code>
| |
| * Logische Replikation auch von Standby Servern
| |
| * SQL/JSON Konstruktoren und Identity Funktionen
| |
|
| |
| * weitere Statistiken über Tabellen
| |
|
| |
| * Optionen für das <code>GRANT</code>-Kommando
| |
|
| |
| * Reguläre Ausdrücke in der Datei <code>pg_hba.conf</code> für die Zugriffssteuerung
| |
|
| |
| |-
| |
| |}
| |
|
| |
| == Softwarewerkzeuge ==
| |
| PostgreSQL selbst läuft als Hintergrundprozess und kann auf verschiedene Weise interaktiv bedient werden.
| |
| Für die [[kommandozeile]]norientierte Bedienung und in Scripts wird die [[Konsolenanwendung]] ''psql'' mit der Installation mitgeliefert. Programme mit [[Grafische Benutzeroberfläche|grafischer Benutzeroberfläche]] zur Bedienung und Verwaltung der Datenbank werden auf dem Serverrechner meist nicht installiert, sondern auf Clientrechnern: [[Freie Software|freie Produkte]] sind etwa [[PgAdmin]]<ref>[https://www.pgadmin.org/ pgAdmin], auf pgadmin.org (englisch)</ref> und [[phpPgAdmin]], aber auch universelle Frontends wie [[DBeaver]].<ref>[http://www.dbeaver.io DBeaver Community], auf dbeaver.io (englisch)</ref> Daneben werden eine Vielzahl von kommerziellen Werkzeugen angeboten, die auch grafische [[Computer-aided software engineering|CASE]]-Modellierung, Im- und Export-Funktionen oder DB-Monitoring bieten.
| |
| Ein [[MySQL]]-Migrationshilfswerkzeug ist in jedem freien PostgreSQL-Downloadpaket von EnterpriseDB<ref>{{Internetquelle| url = http://www.enterprisedb.com/products-services-training/pgdownload| titel = Downloadseite für PostgreSQL| zugriff= 2011-09-24}}</ref> enthalten. Für viele andere Datenbanksysteme gibt es Migrationsunterstützung, insbesondere für Umsteiger von Oracle.
| |
|
| |
| Ein wichtiges Werkzeug zur Konfiguration der Datenbank ist das Python Script „pgtune“.<ref>{{Webarchiv|url=https://severalnines.com/database-blog/pgtune-alternatives-clustercontrol-postgresql-configuration%7CPGTune |wayback=20210421055410 |text=Alternatives – ClusterControl PostgreSQL Configuration |archiv-bot=2024-04-18 10:22:57 InternetArchiveBot }}</ref> Die Standardeinstellungen der Datenbank sind oftmals nicht auf die verwendete Hardware angepasst, sondern so eingestellt, dass das System auf quasi jedem Rechner startet. „pgtune“ zeigt Lösungsvorschläge 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.<ref>[https://pgtune.leopard.in.ua/#/|Online Tool pgtune]</ref> Anfänger tun sich oftmals schwer, die geeigneten Konfigurationsparameter zu ermitteln.<ref>[https://severalnines.com/database-blog/pgtune-alternatives-clustercontrol-postgresql-configuration If you are new to PostgreSQL the most common challenge you face is about how to tune up your database environment].</ref> Ohne geeignete Konfiguration ist die Datenbank oftmals wenig performant.<ref>[https://github.com/le0pard/pgtune|GITHUB Sourcen des Online Tools]</ref> Das Tool wurde ursprünglich von Greg Smith (2ndQuadrant, mittlerweile EnterpriseDB) entwickelt.
| |
|
| |
| == Preise und Auszeichnungen ==
| |
|
| |
| An PostgreSQL wurden in der Vergangenheit zahlreiche Preise vergeben.<ref>{{Webarchiv|url=http://www.postgresql.org/about/awards/ |wayback=20120301110326 |text=Liste der Auszeichnungen }} auf der Projektseite.</ref> Nicht zuletzt erhielt das Projekt den ''Lifetime Achievement Award'' im Rahmen der [[O’Reilly Open Source Convention]] 2019.<ref>{{Internetquelle|url=https://twitter.com/oscon/status/1151902202073534464|titel=O'Reilly OSCON on Twitter|abruf=2021-03-27|datum=2019-07-18}}</ref><ref>{{Internetquelle|url=https://www.2ndquadrant.com/en/blog/postgresql-award/|titel=PostgreSQL Award|abruf=2021-03-27|datum=2019-07-23|autor=Mark Wong|hrsg=[[EnterpriseDB]]}}</ref>
| |
|
| |
| == Siehe auch ==
| |
| {{Siehe auch|PyGreSQL|pgTcl|PostGIS}}
| |
|
| |
| == Literatur ==
| |
| * Lutz Fröhlich: ''PostgreSQL 9. Praxisbuch für Administratoren und Entwickler''. Hanser, München 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 für Anwender, Administratoren und Entwickler''. Open Source Press, München 2009, ISBN 978-3-937514-69-7.
| |
|
| |
| == Weblinks ==
| |
| {{Commonscat}}
| |
| * [https://postgres.fm/ Postgres.fm], eine Podcastserie zum Thema PostgreSQL
| |
|
| |
| === Produkt ===
| |
| * [https://www.postgresql.org/ www.postgresql.org] – offizielle Webpräsenz (englisch)
| |
| * [http://www.postgres.de/ www.postgres.de] – deutsche Website betreffs PostgreSQL
| |
|
| |
| === Werkzeuge und Erläuterungen ===
| |
| * [https://pgxn.org/ PGXN] (englisch) – PostgreSQL Extension Network
| |
| * Vortrag vom [[Chaos Computer Club]] Ulm: [https://ulm.ccc.de/ChaosSeminar/2006/11_PostgreSQL ''PostgreSQL – Ein Elephant vergisst nie''] (Video, Audio)
| |
| * [[Podcast]]: [https://ulm.ccc.de/dev/radio/detail?id=74 /dev/radio zu PostgreSQL]
| |
| * [http://sql-info.de/postgresql/FAQ_german.html FAQ auf sql-info.de]
| |
|
| |
| == Einzelnachweise ==
| |
| <references />
| |
|
| |
| {{Navigationsleiste SQL}}
| |
|
| |
| {{Normdaten|TYP=s|GND=4690455-4}}
| |
|
| |
| [[Kategorie:Freies Datenbankmanagementsystem]]
| |
| [[Kategorie:PostgreSQL| ]]
| |
| [[Kategorie:Unix-Software]]
| |
| [[Kategorie:Linux-Software]]
| |
| [[Kategorie:MacOS-Software]]
| |
| [[Kategorie:Windows-Software]]
| |
| [[Kategorie:Relationales Datenbankmanagementsystem]]
| |