

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verhindern von UDF-Namenskonflikten
<a name="udf-naming-udfs"></a>

Sie können Namenskonflikte und unerwartete Ergebnisse verhindern, wenn Sie sich bei der Implementation an Namenskonventionen halten. Da Funktionsnamen überladen sein können, besteht die Möglichkeit, dass Namenskonflikte mit anderen Amazon-Redshift-Funktionen auftreten oder sich zu einem späteren Zeitpunkt ergeben können. In diesem Thema werden überladene Funktionen und eine Strategie zur Vermeidung von Namenskonflikten besprochen.

## Überladen von Funktionsnamen
<a name="udf-naming-overloading-function-names"></a>

Eine Funktion wird anhand Ihres Namens und ihrer *Signatur* identifiziert, wobei die Signatur im Wesentlichen die Anzahl und die Datentypen der Eingabeparameter ist. Solange sich zwei Funktionen in demselben Schema bezüglich ihrer Signatur unterscheiden, können sie denselben Namen haben. Mit anderen Worten, die Funktionsnamen können *überladen* sein.

Wenn Sie eine Abfrage ausführen, identifiziert die Abfrage-Engine auf der Grundlage des übergebenen Namens und der Datentypen der Parameter, welche Funktion aufgerufen werden soll. Sie können das Überladen nutzen, um Funktionen mit einer variablen Anzahl von Argumenten bis zur maximal durch den Befehl [CREATE FUNCTION](r_CREATE_FUNCTION.md) zugelassen Anzahl zu simulieren. 

## Vermeidung von Konflikten mit integrierten Amazon-Redshift-Funktionen
<a name="udf-naming-preventing-udf-naming-conflicts"></a>

Wir empfehlen, dass Sie alle UDFs mit dem Präfix benennen`f_`. Amazon Redshift reserviert das `f_` Präfix ausschließlich für UDFs und indem Sie Ihren UDF-Namen das Präfix voranstellen, stellen Sie sicher`f_`, dass Ihr UDF-Name nicht mit bestehenden oder future Namen der integrierten SQL-Funktionen von Amazon Redshift kollidiert. Wenn Sie eine neue UDF beispielsweise `f_sum` benennen, vermeiden Sie einen Konflikt mit der SUM-Funktion von Amazon Redshift. Wenn Sie eine neue Funktion mit `f_fibonacci` benennen, vermeiden Sie einen Konflikt, wenn Amazon Redshift in einer zukünftigen Version eine Funktion mit dem Namen FIBONACCI hinzufügt.

Sie können eine UDF mit demselben Namen und derselben Signatur wie eine vorhandene integrierte Amazon-Redshift-SQL-Funktion erstellen, ohne dass der Funktionsname überladen ist, wenn sich die UDF und die integrierte Funktion in verschiedenen Schemata befinden. Integrierte Funktionen befinden sich im Systemschema „pg\$1catalog“, daher können Sie UDFs mit demselben Namen wie integrierte Funktionen in einem anderen Schema erstellen, beispielsweise in einem öffentlichen oder in einem benutzerdefinierten Schema. In einigen Fällen können Sie möglicherweise eine Funktion aufrufen, die nicht explizit mit einem Schemanamen qualifiziert ist. Wenn ja, durchsucht Amazon Redshift standardmäßig zuerst das Schema pg\$1catalog. Daher läuft eine eingebaute Funktion vor einer neuen UDF mit dem gleichen Namen.

Sie können dieses Verhalten ändern, indem Sie den Suchpfad so angeben, dass „pg\$1catalog“ ans Ende gestellt ist. Wenn Sie dies tun, haben Sie UDFs Vorrang vor integrierten Funktionen, aber diese Vorgehensweise kann zu unerwarteten Ergebnissen führen. Es wird stattdessen geraten, eine Namenskonvention zu verwenden, beispielsweise das reservierte Präfix `f_`, weil diese Vorgehensweise zuverlässiger ist. Weitere Informationen erhalten Sie unter [SET](r_SET.md) und [search\$1path](r_search_path.md).