De acordo com a shp2pgsql
ajuda, as opções soltar , anexar , criar e preparar são mutuamente exclusivas. Portanto, se eu quiser criar uma tabela a partir de uma forma e depois anexar vários outros shapefiles, faço algo como o seguinte, mantendo um contador para indicar se estamos no modo de criação ou adição.
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
Isso funciona, como esperado, mas sempre me perguntei se existe uma maneira mais simples.