网上搜了一堆 postgis 的安装,基本都是通过运行 postgresql 的 Stack Builder 进行安装;但是安装时出现错误
couldn't access the url ......
等;本篇文章也是自己在测试安装过程中的记录;
下载安装程序
安装 PostGIS 3.0.3 需要在官网查看对应支持的 postgresql 的版本,postgis 官网显示如下:
可以在这里进行下载对应的 postgresql 安装包:
然后下载 postgis 插件,在这里:
这里也可以下载那个 zip 文件进行复制安装。
安装PostgreSQL
PostgreSQL 安装很简单,傻瓜式安装即可,注意下面的图,需要设置密码,这里需要记一下后面登录用;
然后进行初始化数据库,用管理员方式打开 cmd,运行命令:
D:\PostgreSQL\13\bin\initdb.exe -D D:\PostgreSQL\13\data -E UTF8 --locale=Chinese
注意这里的 D:\PostgreSQL\13\bin 是 postgresql 的安装路径
然后启动服务:
D:\PostgreSQL\13\bin\pg_ctl.exe start -w -D D:\PostgreSQL\13\data
也可以将该服务注册为计算机服务,这样就不需要每次进行手动启动:
注册为服务:
D:\PostgreSQL\13\bin\pg_ctl.exe register -D D:\PostgreSQL\13\data -Npgsql
删除服务:
D:\PostgreSQL\13\bin\pg_ctl.exe unregister -D D:\PostgreSQL\13\data -Npgsql
创建用户:
createuser.exe -s -r postgres
然后就可以使用 pgadmin 4 进行登录:
安装 PostGIS
exe 可执行文件安装
双击下载的 exe 可执行文件,然后进入下面页面,可以选择创建一个空间数据库,也可以选择不创建,自己手动创建;然后点击 next:
选择安装路径:
如果选择了创建空间数据库,需要下面设置连接 postgresql 数据库。需要将 postgresql 服务启动,才能创建成功:
然后安装完成;
zip 复制安装
打开之前下载的 postgis zip 安装包中的 makepostgisdb_using_extensions.bat 文件,我是查看里执行的命令进行手动复制对应文件到 postgresql 安装目录下的:
set PGPORT=5432
set PGHOST=localhost
set PGUSER=postgres
set PGPASSWORD=postgres
set THEDB=geodb
set PGINSTALL=D:\PostgreSQL\13
set PGADMIN=%PGINSTALL%\pgAdmin 4
set PGBIN=%PGINSTALL%\bin\
set PGLIB=%PGINSTALL%\lib\
set POSTGISVER=2.3
xcopy bin\*.* "%PGBIN%"
xcopy /I /S bin\postgisgui\* "%PGBIN%\postgisgui"
xcopy /I plugins.d\* "%PGADMIN%\plugins.d"
xcopy lib\*.* "%PGLIB%"
xcopy share\extension\*.* "%PGINSTALL%\share\extension"
xcopy /I /S share\contrib\*.* "%PGINSTALL%\share\contrib"
xcopy /I gdal-data "%PGINSTALL%\gdal-data"
"%PGBIN%\psql" -c "CREATE DATABASE %THEDB%"
大概就是复制 bin 下面的文件到 postgresql 下的 bin 文件夹中,以及 bin\postgisgui 、 bin\plugins.d、lib、share\extension\、share\contrib\、gdal-data 等到 postgresql 对应的文件夹中;
创建空间数据库
然后创建空间数据库;直接在 pgAdmin 中去安装 postgis 的扩展;选择对应的数据库,然后选择 query Tool,
这里的 geodb 是我新建的数据库;执行下面的 sql:
CREATE EXTENSION postgis;
就创建成功,可以看到对应数据库中的表:这个表示对应空间参考系的;
这样就安装成功了。