

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mencegah konflik penamaan UDF
<a name="udf-naming-udfs"></a>

Anda dapat menghindari potensi konflik dan hasil yang tidak terduga dengan mempertimbangkan konvensi penamaan UDF Anda sebelum implementasi. Karena nama fungsi dapat kelebihan beban, mereka dapat bertabrakan dengan nama fungsi Amazon Redshift yang ada dan yang akan datang. Topik ini membahas kelebihan beban dan menyajikan strategi untuk menghindari konflik.

## Nama fungsi overloading
<a name="udf-naming-overloading-function-names"></a>

Fungsi diidentifikasi dengan nama dan *tanda tangannya*, yang merupakan jumlah argumen input dan tipe data argumen. Dua fungsi dalam skema yang sama dapat memiliki nama yang sama jika mereka memiliki tanda tangan yang berbeda. Dengan kata lain, nama fungsi bisa *kelebihan beban*.

Saat Anda menjalankan kueri, mesin kueri menentukan fungsi mana yang akan dipanggil berdasarkan jumlah argumen yang Anda berikan dan tipe data argumen. Anda dapat menggunakan overloading untuk mensimulasikan fungsi dengan sejumlah variabel argumen, hingga batas yang diizinkan oleh perintah. [CREATE FUNCTION](r_CREATE_FUNCTION.md) 

## Menghindari konflik dengan fungsi Amazon Redshift bawaan
<a name="udf-naming-preventing-udf-naming-conflicts"></a>

Kami menyarankan Anda memberi nama semua UDFs menggunakan awalan`f_`. Amazon Redshift menyimpan `f_` awalan secara eksklusif untuk UDFs dan dengan mengawali nama UDF Anda`f_`, Anda memastikan bahwa nama UDF Anda tidak akan bertentangan dengan nama fungsi SQL bawaan Amazon Redshift yang ada atau yang akan datang. Misalnya, dengan memberi nama UDF baru`f_sum`, Anda menghindari konflik dengan fungsi Amazon Redshift SUM. Demikian pula, jika Anda memberi nama fungsi baru`f_fibonacci`, Anda menghindari konflik jika Amazon Redshift menambahkan fungsi bernama FIBONACCI di rilis mendatang.

Anda dapat membuat UDF dengan nama dan tanda tangan yang sama dengan fungsi SQL bawaan Amazon Redshift yang ada tanpa nama fungsi kelebihan beban jika UDF dan fungsi bawaan ada dalam skema yang berbeda. Karena fungsi bawaan ada dalam skema katalog sistem, pg\$1catalog, Anda dapat membuat UDF dengan nama yang sama di skema lain, seperti skema publik atau yang ditentukan pengguna. Dalam beberapa kasus, Anda mungkin memanggil fungsi yang tidak secara eksplisit memenuhi syarat dengan nama skema. Jika demikian, Amazon Redshift mencari skema pg\$1catalog terlebih dahulu secara default. Dengan demikian, fungsi bawaan berjalan sebelum UDF baru dengan nama yang sama.

Anda dapat mengubah perilaku ini dengan menyetel jalur pencarian untuk menempatkan pg\$1catalog di akhir. Jika Anda melakukannya, Anda lebih UDFs diutamakan daripada fungsi bawaan, tetapi praktik tersebut dapat menyebabkan hasil yang tidak terduga. Mengadopsi strategi penamaan yang unik, seperti menggunakan awalan cadangan`f_`, adalah praktik yang lebih andal. Untuk informasi selengkapnya, lihat [SET](r_SET.md) dan [search\$1path](r_search_path.md).