pg_result_error() returns error message associated with result resource. Therefore, user has better chance to get better error message than pg_last_error().
Because pg_query() returns FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.