根据shp2pgsql
帮助,选项drop,append,create和prepare是互斥的。因此,如果我想从形状创建表,然后附加多个其他shapefile,我将执行以下操作,并保留一个计数器以指示我们处于创建还是附加模式。
cnt=0
for shp in $(ls *.shp); do
if [ $cnt -eq 0 ] ; then
shp2pgsql -s 27700 -c $shp schema.table_name | psql -h localhost db
else
shp2pgsql -s 27700 -a $shp schema.table_name | psql -h localhost db
fi
((cnt++))
done
这可以按预期工作,但我经常想知道是否有更简单的方法?