shp2pgsql 命令不起作用

shp2pgsql command not working

我是 PostgreSQL 的新手,正在尝试使用以下代码通过终端导入 shapefile:

shp2pgsql -I -s 4269 C:\MyData\roads\roads.shp roads | psql -U postgres -d <DBNAME>

已创建 postgis 扩展。但我继续收到语法错误:

postgres=# CREATE EXTENSION postgis;
ERROR:  extension "postgis" already exists
postgres=# 
postgres=# shp2pgsql -I -s 4326 /Users/alexander/Downloads/pluto/pluto.shp pluto | psql -U postgres -d postgres;
ERROR:  syntax error at or near "shp2pgsql"
LINE 1: shp2pgsql -I -s 4326 /Users/alexander/Downloads/pluto/pluto....
        ^
postgres=# 

知道问题出在哪里吗?

那是因为 shp2pgsql 是一个命令行可执行文件。您在 shell 中 运行 的内容(bash,sh 等)。它并不打算像您看起来那样在您的 psql 控制台中执行。