我到处寻找,但大多数教程都是用于创建空间数据库。是否可以将常规Postgresql数据库转换为空间数据库?
我将把它用于GeoDjango。
答案 0 :(得分:10)
this有帮助吗?引自Postgres手册:
现在将PostGIS对象和函数定义加载到您的 数据库通过加载postgis.sql定义文件(位于 在配置步骤中指定的[prefix] / share / contrib。)
psql -d [yourdatabase] -f postgis.sql
对于一整套EPSG坐标系定义标识符, 你也可以加载spatial_ref_sys.sql定义文件和 填充spatial_ref_sys表。这将允许您执行 几何上的ST_Transform()操作。
psql -d [yourdatabase] -f spatial_ref_sys.sql
如果您希望为PostGIS功能添加注释,请执行最后一步 是将postgis_comments.sql加载到空间数据库中。该 只需从中输入\ _dd [function_name]即可查看注释 psql终端窗口。
psql -d [yourdatabase] -f postgis_comments.sql
答案 1 :(得分:4)
(低声誉 - 这应该是一个评论而不是一个答案)
对于那些来自Google的人来说,评分最高的答案适用于低于9.1的PostGres版本。对于9.1+,您只需要这个(来自here):
核心postgis扩展程序安装PostGIS几何,地理,栅格,spatial_ref_sys以及所有函数和注释,只需简单:
创建扩展postgis; 命令。
psql -d [yourdatabase] -c“CREATE EXTENSION postgis;”
拓扑打包为单独的扩展,可使用以下命令进行安装:
psql -d [yourdatabase] -c“CREATE EXTENSION postgis_topology;”
如果您计划从此新数据库中的先前版本恢复旧备份,请运行:
psql -d [yourdatabase] -f legacy.sql
您可以在以后运行uninstall_legacy.sql,以便在完成恢复和清理后删除已弃用的函数。
答案 2 :(得分:0)
对于数据库本身,只需安装PostGIS,即可拥有空间数据库。
如果您想转换实际数据,这显然取决于您的数据。但是因为它可以通过SQL访问,所以肯定可以完成。