基于PostgreSQL+Postgis的空间数据库的实现(结合PHP)(1)
2013-03-18 14:50
399 查看
在空间数据库中,商业软件已表现十分成熟,如Oracle、SQL Server,但对于项目预算有限,或热衷于开源软件的人来说,商业软件并不是一个很好的选择。PostgreSQL作为一个开源数据库,不仅免费的特性赢得了众多青睐,其在数据库的成熟度都能和商业数据库相媲美。而且对空间数据的支持更是锦上添花。最近在入门Postgis,这里将最近的工作总结下。
需要下载PostgreSQL并安装,推荐官方网站:http://www.postgresql.org,下载时注意对应的版本,如ArcGIS 10.1就要求均为64位。安装完毕后运行Application Stack Builder,安装Postgis组件,其他组件的话按需安装吧。
安装首页
双击安装程序,出现如下图所示的 PostgreSQL 安装首页,单击“Next”按钮继续安装。
指定安装目录
如下图所示,指定 PostgreSQL 的安装目录。然后,单击“Next”按钮继续安装。
安装 PostgreSQL 的分区最好是 NTFS 格式的。PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改。此外,PostgreSQL 所使用的"多分点"功能完成表空间的这一特征在FAT文件系统下无法实现。
然而,在某些系统中,只有一种 FAT 分区,这种情况下,可以正常安装 PostgreSQL,但不要进行数据库的初始化工作。安装完成后,在 FAT 分区上手动执行 initdb.exe 程序即可,但不能保证其安全性和可靠性,并且建立表空间也会失败。
指定数据存储目录
如下图所示,为数据库存储区域指定安装区域。然后,单击“Next”按钮继续安装。
设置数据库超级用户和服务账户的密码
数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。然后,单击“Next”按钮继续安装。
设置服务监听端口
如下图所示,指定数据库服务器的端口,默认是“5432”,用户可根据自己端口的使用情况进行设置。然后,单击“Next”按钮继续安装。
选择运行时语言环境
如下图所示,选择数据库存储区域的运行时语言环境。然后,单击“Next”按钮,进入安装进度页面,等待 PostgreSQL 安装完毕。
注意,在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional],
Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择"C",即不使用区域。
结束安装
上面的安装步骤执行完成后,会弹出如下图所示的完成对话框。这里可以选择安装完成后是否运行 Stack Builder 向导来安装附加软件,以完善 PostgreSQL 的安装。该操作必须在联网状态下执行。
8. 安装Postgis,点击下一步
图:Stack Builder界面
选择相应的PostGIS组件
图:安装PostGIS
需要下载PostgreSQL并安装,推荐官方网站:http://www.postgresql.org,下载时注意对应的版本,如ArcGIS 10.1就要求均为64位。安装完毕后运行Application Stack Builder,安装Postgis组件,其他组件的话按需安装吧。
安装首页
双击安装程序,出现如下图所示的 PostgreSQL 安装首页,单击“Next”按钮继续安装。
图:PostgreSQL 安装首页 |
如下图所示,指定 PostgreSQL 的安装目录。然后,单击“Next”按钮继续安装。
图:指定安装目录 |
然而,在某些系统中,只有一种 FAT 分区,这种情况下,可以正常安装 PostgreSQL,但不要进行数据库的初始化工作。安装完成后,在 FAT 分区上手动执行 initdb.exe 程序即可,但不能保证其安全性和可靠性,并且建立表空间也会失败。
指定数据存储目录
如下图所示,为数据库存储区域指定安装区域。然后,单击“Next”按钮继续安装。
图:指定数据存储目录 |
数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。然后,单击“Next”按钮继续安装。
图:设置服务账户的密码 |
如下图所示,指定数据库服务器的端口,默认是“5432”,用户可根据自己端口的使用情况进行设置。然后,单击“Next”按钮继续安装。
图:设置服务监听端口 |
如下图所示,选择数据库存储区域的运行时语言环境。然后,单击“Next”按钮,进入安装进度页面,等待 PostgreSQL 安装完毕。
注意,在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional],
Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择"C",即不使用区域。
图:选择运行时语言环境 |
图:安装进度页面 |
上面的安装步骤执行完成后,会弹出如下图所示的完成对话框。这里可以选择安装完成后是否运行 Stack Builder 向导来安装附加软件,以完善 PostgreSQL 的安装。该操作必须在联网状态下执行。
图:结束安装 |
图:Stack Builder界面
选择相应的PostGIS组件
图:安装PostGIS
相关文章推荐
- 基于PostgreSQL+Postgis的空间数据库的实现(结合PHP)(2)
- 基于PostgreSQL+Postgis的空间数据库的实现(结合PHP)(3)
- PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
- 基于Apache+Mysql+PHP安装PHPwind、Discuz等论坛并通过mydumper、binlog实现数据库的备份恢复。(1)
- 安卓服务端开发(1) 安卓结合PHP实现连接数据库验证登录功能(附全部代码)
- 实现基于注解(Annotation)的数据库框架(四)注解(Annotation)和反射的结合使用
- php基于session实现数据库交互的类实例
- 基于Apache+Mysql+PHP安装PHPwind、Discuz等论坛并通过mydumper、binlog实现数据库的备份恢复。(2)
- php基于session实现数据库交互的类实例
- PHPEXCEL结合MYSQL+PHP实现数据库数据导出EXCEL实例
- WebGIS(PostgreSQL+GeoServer+OpenLayers)之一 PostgreSQL安装及地理空间数据库实现
- 时间序列数据库KDB 与Java结合使用介绍 -- 3 基于KDB JDBC的写入实现
- PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
- php从PostgreSQL 数据库检索数据,实现分页显示以及根据条件查找数据
- 转】基于GeoServer的电子地图系统说明(四):空间数据库实现
- PHP数据库编程③基于mysql的在线词典案例(只实现中英文互查)
- WebGIS(PostgreSQL+GeoServer+OpenLayers)之一 PostgreSQL安装及地理空间数据库实现
- PHP基于单例模式实现的数据库操作基类
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--postgis空间数据库
- 基于OCCI的空间数据库几何对象实现方法研究