PostgreSQL / PostGIS:shp2pgsql INSERT而不是创建新表

时间:2017-04-20 07:43:53

标签: postgresql postgis shapefile pgadmin

您好我是PostgreSQL / PostGIS的新手,刚学会了如何将Shapefile转换为SQL文件并使用shp2pgsql将其导入PostGIS,方法是遵循this教程。我注意到每当我转换Shapefile时,它会生成一个具有CREATE TABLE语句的SQL文件。现在我的问题是,有没有办法或者甚至可以将新的Shapefile(带有新的图层集)插入现有的表而不是创建一个新的?

我希望我解释得很清楚。感谢。

1 个答案:

答案 0 :(得分:4)

您可以在命令行中使用append选项。 像这样:

.\shp2pgsql.exe -c -I -g "geom" fistShpFile.shp
.\shp2pgsql.exe -a  -g "geom"   nextShpFile.shp
.\shp2pgsql.exe -a  -g "geom"   nextShpFile.shp
...
(-d|a|c|p) These are mutually exclusive options:

-d Drops the table, then recreates it and populates it with current shape file data.
-a Appends shape file into current table, must be exactly the same table schema.
-c Creates a new table and populates it, default if you do not specify any options. 
-p Prepare mode, only creates the table.

http://www.bostongis.com/pgsql2shp_shp2pgsql_quickguide.bqg

或使用shp2pgsql -?作为其他选项。