Essential to solving this issue is to make the import in two steps. 1. First one is to import the setup of the table. Ie. the names of the columns and the structure of the table. But not yet the content. The code will look like this: shp2pgsql -p -s SRID PATH_TO_SHAPEFILE\Shapefile.shp SCHEMEname.TABLEname | psql -h HOST -d Database -U User Worth noticing is the flag: `"-p"` that, according to [this cheatsheet][1] means *"Prepare mode, only creates the table."* 2. Second step is to make the flag `"-d"` that: *"Drops the table, then recreates it and populates it with current shape file data."* shp2pgsql -d -s SRID PATH_TO_SHAPEFILE\Shapefile.shp SCHEMEname.TABLEname | psql -h HOST -d Database -U User Eventually run: `ANALYSE VERBOSE SCHEME.TABLE` too during the operation to check for changes. Logging into the database required. [1]: http://www.bostongis.com/pgsql2shp_shp2pgsql_quickguide_20.bqg