Viele Entwickler konzentrieren sich auf viele unterschiedliche Bereiche der Datenbank, was zeigt, wie stark das Engagement von Unternehmen und freiwilligen Mitgliedern der Community ist. PostgreSQL ist mittlerweile aus vielen unternehmenskritischen Bereichen nicht mehr wegzudenken und ist bei vielen Clouddiensten häufig die relationale Datenbank der ersten Wahl. Hier überzeugt sicherlich die flexible, freie Lizenz die nahezu keine Einschränkungen für die Nutzer kennt. Auch die äußerst breite Unterstützung von professionellen Dienstleistern mit Tools und Support hilft Unternehmen enorm, um PostgreSQL erfolgreich in die eigene Infrastruktur zu integrieren.
Prozeduren, die auch in prozeduralem Code eingebettete Transaktionskontrolle unterstützen, wurden bereits mit der Version 11 eingeführt. Mit PostgreSQL 14 ist es möglich, Ergebnisse aus der Prozedur zurückzugeben. Bisher war es zwar kein Problem, Daten innerhalb der Prozedur flexibel zu verarbeiten, aber nicht möglich, Ergebnisse beispielsweise außerhalb der Prozedur wiederzuverwenden. Hierzu können Sie nun sogenannte OUT- beziehungsweise INOUT-Parameter verwenden, die Sie beim Anlegen in der Argumentliste deklarieren:
CREATE OR REPLACE PROCEDURE add(op1 IN bigint, op2 IN bigint, result_add OUT bigint)
LANGUAGE SQL
AS
$$
SELECT op1 + op2;
$$;
Reine OUT-Parameter müssen Sie – obwohl sie keine Werte an die Prozedur übergeben – dennoch in der Aufrufskonvention des CALL-Kommandos berücksichtigen. Aktuell ist angeraten, hier einfach »NULL
«
als Argument an CALL zu übergeben, da noch Änderungen in zukünftigen PostgreSQL Versionen zu erwarten sind. Dies funktioniert auch mit mehreren Argumenten gleichzeitig,
Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.