[OSM-dev] osm2pgsql "intarray contrib module loaded"

Frederik Ramm frederik at remote.org
Mon Aug 8 21:40:26 BST 2011


Stephan Knauss wrote:
> Sorry, for me it's not fully clear. Maybe for my small DB it's fine to 
> reimport, but for others having the whole planet:

There's a misunderstanding here.

The old "intarray" method and the now "builtin PostgreSQL arrays" method 
lead to a slightly different structure in the slim mode tables.

It is *not* possible to update an "intarray" database with the "builtin 
PostgreSQL arrays" software (or vice versa). Even if there is a way to 
un-load the intarray code from your PostgreSQL instance, this will not 
magically re-format your slim mode tables so you will certainly have to 
reimport if you want to use the newer osm2pgsql version, or use the old 
osm2pgsql version if you don't want to reimport.

The other thing is that even *if* you choose to do a full reimport, 
osm2pgsql will *still* complain when it finds that you have the intarray 
module loaded, so either you unload it or you drop and re-create the 
database, which is no big deal since you were re-importing anyway.

The reason why I put this "oops you have _int" warning in is that I 
noticed certain adverse effects of having _int loaded and then using 
builtin arrays; it seemed that PostgreSQL wouldn't use the index 
properly in these cases.


Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"

More information about the dev mailing list