Najpierw musisz zmienić relocatable na false w pliku kontrolnym rozszerzenia.
Poza tym otrzymana rekomendacja jest częściowo rozsądna, a częściowo bezsensowna.
Powinieneś zdefiniować swoje funkcje w następujący sposób:
CREATE FUNCTION .... AS
$$ /* function body */ $$
SET search_path = @example@sqldat.com;
Następnie search_path jest naprawione na pg_catalog , pg_temp i twój schemat rozszerzenia na czas trwania wywołania funkcji. Oznacza to, że każdy dostęp do obiektów bez wyraźnego schematu będzie przeszukiwał tylko te schematy.
Wtedy nie musisz się martwić o jawną kwalifikację wszystkiego w funkcji za pomocą @example@sqldat.com i możesz używać operatorów bez obaw, ponieważ search_path dotyczy również operatorów. (Możesz również zakwalifikować operatory do schematu:OPERATOR(schema.+) , ale jest to oczywiście bolesne i pogarsza czytelność.)