A user-defined function is owned by the user who created it, and that user can execute it without permission. The owner of a user-defined function can grant permissions to other users with the GRANT EXECUTE command.
For example, the creator of the function fullname can allow another_user to use fullname by issuing:
GRANT EXECUTE ON fullname TO another_user
Or to revoke permissions by issuing:
REVOKE EXECUTE ON fullname FROM another_user
For more information on managing user permissions on functions, see “Granting permissions on procedures” in Chapter 8, “Managing User IDs and Permissions,” System Administration Guide: Volume 1.