Pertama, Anda harus mengubah relocatable menjadi false di file kontrol ekstensi.
Selain itu, rekomendasi yang Anda dapatkan sebagian masuk akal dan sebagian tidak masuk akal.
Anda harus mendefinisikan fungsi Anda seperti ini:
CREATE FUNCTION .... AS
$$ /* function body */ $$
SET search_path = @example@sqldat.com;
Kemudian search_path diperbaiki ke pg_catalog , pg_temp dan skema ekstensi Anda selama pemanggilan fungsi. Artinya, semua akses ke objek tanpa skema eksplisit hanya akan menelusuri dalam skema ini.
Maka Anda tidak perlu khawatir tentang kualifikasi secara eksplisit semua yang ada di fungsi dengan @example@sqldat.com , dan Anda dapat menggunakan operator tanpa harus khawatir, karena search_path berlaku juga untuk operator. (Anda juga dapat memenuhi syarat operator skema:OPERATOR(schema.+) , tapi itu jelas menyakitkan dan merusak keterbacaan.)