The first thing to take a look at, is the specific feature being referenced in the error string. Something about it is making PostGIS think it is a MultiSurface feature. I know you have imported these datasets successfully before, so please provide some information about them. What is the source? How were they created?
PostGIS is pretty strict about data types matching up. If you don't specify the target layer type, PostGIS will guess what type to use, basically by assigning the type of the first features that it imports in the layer. If it then runs across a feature that it thinks is a different type, it will throw an error.
I would try specifying the layer type using -nlt
as part of your import command.
Example:
ogr2ogr -overwrite -f "PostgreSQL" PG:"host=xxx user=xxxxx dbname=xxxx password=xxxx port=5432" "X:\postgresData\Fuzzy_2016.gdb" "fuzzy_2016" -nlt MULTIPOLYGON
Please note that I also added the -overwrite
command to your string as this will ensure any existing table matching that name, and thus formatting, is dropped so it doesn't interfere. If you want to append to an existing table, or some such, then do this testing into a temp table, and change the table name to a permanent table once you have the kinks worked out.
Use the New Layer Name command -nln
to do this.
Example:
ogr2ogr -overwrite -f "PostgreSQL" PG:"host=xxx user=xxxxx dbname=xxxx password=xxxx port=5432" "X:\postgresData\Fuzzy_2016.gdb" "fuzzy_2016" -nln fuzzy_2016_temp -nlt MULTIPOLYGON
If it continues to give you fits, you could write an sql query to filter out this particular feature during the import and see if it is able to process the rest.