pg_freeresult() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script is finished. But, if you are sure you are not going to need the result data anymore in a script, you may call pg_freeresult() with the result resource as an argument and the associated result memory will be freed. It returns true on success and false if an error occurs.
See also pg_exec().