Se você possui um computador Windows, pode usar um bom visual CMD.EXE
com alguns loops esotéricos. Certifique-se de fazer isso em um diretório "contido" apenas com os arquivos shp / sql que você precisa carregar.
Primeira etapa, crie os arquivos do carregador SQL (eu também presumi que você tenha dados WGS84 Lat / Long com 4326 .. atualize isso para o seu SRS):
for %f in (*shp) do shp2pgsql -s 4326 %f public.%~nf > %~nf.sql
Em seguida, verifique seus arquivos SQL para garantir que eles tenham uma boa aparência e faça um loop semelhante:
for %f in (*sql) do psql -h myserver -d mydb -U myuser -f %f > nul
O bash
equivalente para o pessoal do POSIX (Linux, Mac OS X, etc) é algo como:
for f in *.shp
do
shp2pgsql -s 4326 %f public.`basename $f .shp` > `basename $f .shp`.sql
done
então
for f in *.sql
do
psql -h myserver -d mydb -U myuser -f $f > /dev/null
done
ou ambas as partes conectadas em um único loop, se você não precisar manter os .sql
arquivos provisórios :
for f in *.shp
do
shp2pgsql -s 4326 %f public.`basename $f .shp` | psql -d mydb > /dev/null
done