Just thought I will just have to check whether the proowner is one of the users/roles that we've created and if it is so, then it is not a system function.
By system function, I mean something like version or current_user, they are system functions, right? Or am I wrong again :(
I want to check for function and procedure if they exist or not including those created by the users as well as system functions
Are you aware that even in the same schema multiple functions and procedures can share the same "name"?
proowner whether it is a system function or user-defined?
That seems like a poor test for that property. A system function is one that exists in the pg_catalog schema, which is the schema the system places all of its objects into.