将常规Postgres数据库转换为空间数据库

时间:2011-08-19 20:09:01

标签: django postgresql postgis

我到处寻找,但大多数教程都是用于创建空间数据库。是否可以将常规Postgresql数据库转换为空间数据库?

我将把它用于GeoDjango。

3 个答案:

答案 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访问,所以肯定可以完成。