Если у вас есть компьютер с Windows, вы можете использовать good 'ol CMD.EXE
с несколькими эзотерическими циклами for. Убедитесь, что вы делаете это в «вложенном» каталоге только с теми файлами shp / sql, которые вам нужно загрузить.
Первый шаг, создайте файлы загрузчика SQL (я также предположил, что у вас есть данные Lat / Long WGS84 с 4326 .. обновите это до вашего SRS):
for %f in (*shp) do shp2pgsql -s 4326 %f public.%~nf > %~nf.sql
Затем проверьте файлы SQL, чтобы убедиться, что они хорошо выглядят, затем выполните аналогичный цикл:
for %f in (*sql) do psql -h myserver -d mydb -U myuser -f %f > nul
bash
Эквивалент для POSIX народной (Linux, Mac OS X, и т.д.) что - то вроде:
for f in *.shp
do
shp2pgsql -s 4326 %f public.`basename $f .shp` > `basename $f .shp`.sql
done
тогда
for f in *.sql
do
psql -h myserver -d mydb -U myuser -f $f > /dev/null
done
или обе части по конвейеру, если вам не нужно хранить промежуточные .sql
файлы:
for f in *.shp
do
shp2pgsql -s 4326 %f public.`basename $f .shp` | psql -d mydb > /dev/null
done