Ändern der Ausgabeparameter einer PostgreSQL-Funktion

Falls man zufällig in die Verlegenheit kommt, in einer PostgreSQL-Funktion einen TYPE (also das Ausgabe-Format: welche Spalten sollen ausgegeben werden?) ändern zu müssen, lässt sich das folgendermaßen bewerkstelligen:

  • Sich zuallererst die CREATE TYPE-Anweisung besorgen, die man vor Monaten ausgeführt und seitdem komplett vergessen hat. Diese findet man in einem Dump der Datenbank. Falls man mit pgAdmin arbeitet, geht das per Rechtsklick.
  • Sich die Defintion der Funktion im Editor anzeigen lassen (Rechtsklick: CREATE Script).
  • Diese Definition so bearbeiten, dass die Befehle in folgender Reihenfolge aufgeführt sind:
    • DROP FUNCTION beispielfunktion
    • DROP TYPE beispieltyp
    • CREATE TYPE beispieltyp (hier die gewünschten Änderungen einfügen)
    • CREATE FUNCTION beispielfunktion (wie gehabt)
  • Das so entstandene SQL ausführen und staunen. Sollte es schiefgehen, hat man ja einen aktuellen Dump.