首页 > 解决方案 > 如何从批处理文件执行 pgsql2shp

问题描述

我正在尝试使用以下代码使用批处理文件为远程 postgres db 执行 pgsql2shp

for /f %%i in ('psql -U ihadmin -d ih_gis_production -h <xxxxx> -c "select f_table_name from geometry_columns where f_table_schema='mls_dataset';"') do (
set file_name=D:/Processing/DB_Dump/airdrie/mls_datatset/%%i
set table_name=%%i
pgsql2shp -h <xxxxx> -f %file_name% -u ihadmin -P xxxxx ih_gis_production mls_dataset.%table_name%
)

这将从上述选择查询中获取表名,然后循环并将这些表导出到 shapefile。当我从批处理文件运行它时,我在命令提示符中看到 pgsql2shp 帮助选项。通过批处理调用 pgsql2shp 的任何正确方法?

标签: postgresqlbatch-file

解决方案


推荐阅读