shp2pgsql "ОШИБКА: У INSERT больше целевых столбцов, чем выражений" - PullRequest
0 голосов
/ 08 мая 2018

Я использую скрипт, предоставленный loader_generate_script в Postgis, для загрузки данных переписи Tiger, и я получаю ошибку при загрузке данных EDGE. Мне удалось обнаружить ошибку, добавив -v ON_ERROR_EXIT=1 ко всем psql вызовам.

NOTICE:  INSERT INTO tiger_data.al_edges(statefp,countyfp,tlid,tfidl,tfidr,mtfcc,fullname,smid,lfromadd,ltoadd,rfromadd,rtoadd,zipl,zipr,featcat,hydroflg,railflg,roadflg,olfflg,passflg,divroad,exttyp,ttyp,deckedroad,artpath,persist,gcseflg,offsetl,offsetr,tnidf,tnidt,the_geom) SELECT statefp,countyfp,tlid,tfidl,tfidr,mtfcc,fullname,smid,lfromadd,ltoadd,rfromadd,rtoadd,zipl,zipr,featcat,hydroflg,railflg,roadflg,olfflg,passflg,exttyp,ttyp,deckedroad,artpath,persist,gcseflg,offsetl,offsetr,tnidf,tnidt,the_geom FROM tiger_staging.al_edges;
ERROR:  INSERT has more target columns than expressions
LINE 1: ...tpath,persist,gcseflg,offsetl,offsetr,tnidf,tnidt,the_geom) ...

Ошибка ясно говорит о том, что столбцы не совпадают (в операторе SELECT отсутствует столбец с именем divroad. Как мне уменьшить это в shp2psql, поскольку именно это создает оператор INSERT Любая помощь приветствуется!

1 Ответ

0 голосов
/ 08 мая 2018

Оказывается, проблема связана с моей версией postgis. Управляемый Azure postgres использует POSTGIS="2.3.2 r15302" в качестве расширения Postgis, и похоже, что проблемы с данными TIGER2017 были исправлены в 2.4.1 Postgis . Решением является обновление Postgis, хотя это может означать, что пока не используется управляемый Azure.

...