2

I have installed postgis extension in my db. I have few columns associated with its type in few tables and now I would like to use reverse geocode functionality in my app. Hence I tried to create postgis_tiger_geocoder extension and I get the error as

type geometry does not exist

I tried to drop the extension and create it newly and it works. But I lose all my columns with the type

postgis.geography(Polygon,4326)
postgis.geography(Point,4326)

So, how can I repair or reinstall postgis extension without losing the columns and install the postgis_tiger_extension?

0

1 Answer 1

5

It should be able to find it if postgis is in your database search path.

Trying doing this:

ALTER DATABASE your_db SET search_path=public,postgis;

Then connect to your database again and do:

CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
6
  • I tried this and when creating "fuzzystrmatch", it shows as ERROR: extension "fuzzystrmatch" already exists and on creating "postgis_tiger_geocoder" extension, I get the same ERROR: type "geometry" does not exist.
    – Logesh
    Aug 25, 2015 at 4:15
  • leave out the fuzzystrmatch part then since you have that installed. Important thing is you set the search path of your database, and then reconnect. If you do all in same session, it won't work since the search_path db setting doesn't take effect until next connect.
    – LR1234567
    Aug 25, 2015 at 6:05
  • Leaving that and installing the "postgis_tiger-geocoder" alone shows the same "ERROR: type "geometry" does not exist"
    – Logesh
    Aug 25, 2015 at 6:07
  • Also to verify what your search path is, run -- SHOW search_path;
    – LR1234567
    Aug 25, 2015 at 6:07
  • Thats great.! I have been trying from the same session and upon reconnecting I could able to create the extension with no problem. Thanks for the tip. I would need to load the data for the tiger table so as to use reverse geocode. I will check that and keep posting, if there are any issues.
    – Logesh
    Aug 25, 2015 at 6:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.