Heroku Connect creates a function called
get_xmlbinary in the
public schema of your database, which is used as part of the sync process. If the
public schema is removed from your
search_path or if this function is deleted, Heroku Connect will not be able to find this function, which will in turn impair its ability to sync your data.
If this has happened within your database, you might see an error message in your logs that is similar to the following:
function get_xmlbinary() does not exist at character 9.
To troubleshoot this, start by ensuring that the
get_xmlbinary function exists in the
public schema of the database used by the Connect add-on:
=> \df get_xmlbinary List of functions Schema | Name | Result data type | Argument data types | Type --------+---------------+-------------------+---------------------+-------- public | get_xmlbinary | character varying | | normal
If the function is not listed in the output, then the issue is likely with the search path. The current default search path can be seen by using the following query:
=> show search_path; search_path ---------------- "$user",public
public is listed in the
search_path, it is likely that the search path has been altered using
SET search_path TO my_schema; or something similar. Even if public is listed in your search_path here it is possible that your ORM is changing the search path when it connects to your database. Try to run the above SQL through your ORM and confirm that public is still in your search path.
get_xmlbinary function cannot be found and/or the
public schema is not listed in your
search_path, please reach out to our support team to have this resolved.