Musiałem wiedzieć, jak wielokrotnie używać skryptu, który pisałem. Okazuje się, że możesz utworzyć funkcję tymczasową za pomocą schematu pg_temp. Jest to schemat, który jest tworzony na żądanie dla Twojego połączenia i jest miejscem przechowywania tabel tymczasowych. Gdy połączenie zostanie zamknięte lub wygaśnie, ten schemat zostanie usunięty. Okazuje się, że jeśli utworzysz funkcję na tym schemacie, schemat zostanie utworzony automatycznie. Dlatego
create function pg_temp.testfunc() returns text as
$$ select 'hello'::text $$ language sql;
będzie funkcją, która będzie działać tak długo, jak długo będzie trwało twoje połączenie. Nie ma potrzeby wywoływania polecenia upuszczania.