PostgreSQL/PostGIS安装

本文详细介绍了如何从官网下载并安装PostgreSQL数据库及其GIS支持模块PostGIS,包括选择安装语言、安装内容、配置服务、数据库初始化以及客户端连接设置等步骤,并提供了安全设置pg_hba.conf文件的示例。
PostgreSQL/PostGIS安装

  登录http://www.postgresql.org,下载最新版的PostgreSQL数据库,此安装文件已包含PostGIS(必须下载8.2以上版本,不可下载8.1版,经测试8.1版对数据的备份和恢复存在问题,恢复备份数据时不能正确恢复数据表的主键)。

开始安装

  首先是选择安装过程中使用的语言,没有找到中文,只好选择还能看得懂的英文。另外,你可以选择最下面得选项以把详细的安装日志写到当前安装目录,以备排查安装故障,也可以阅读一下了解它的安装过程。


选择安装语言

  点下一步就是选择安装内容的选项了,其中分四大部分,分别是数据库服务器端、用户界面、数据库驱动和开发模块。你可以根据需要选择安装。另外此处要注意的是“Data directory”选项只能安装在NTFS格式的分区,如果你要安装在其他格式的分区的话,需要在安装完后,手动运行Initdb.exe。

  注意:如果你喜欢用图形界面来管理操作数据库得话,在用户界面里可以选择安装pgAdminIII。PostGIS Spatial Extension为PostgreSQL提供了GIS支持(PostGIS),这里必须要安装。

选择安装选项1

选择安装选项2

  接下来是服务配置,你可以把该数据库服务器作为Windows的一个系统服务运行,这也是PostgreSQL开始真正支持Windows安装的一个体现(如下图)。


选择安装为服务

  在此设置服务名,还有运行该服务的Windows帐号。你可以输入一个已有帐号,也可以输入一个目前并不存在的帐号,让安装程序自动建立这个帐号。


自动创建帐号

  创建帐号完毕后,就是要配置数据库的监听端口、连接许可,及本地区域和超级用户的设置了。我选择的是“中华人民共和国”,选择编码类型为UTF-8,(注意:图上为SQL_ASCII务必改之)这儿建立的超级帐号是数据库管理员用户,注意与前面的服务帐号区别。注意这个对话框只有你在上一步选择了让PostgreSQL作为一个系统服务运行才会出现。

初始化数据库设置

  点击下一步后,会弹出一个远程连接的选项,提示本地连接数据库默认都可以被接受,但是如果想让远程计算机也能连接到数据库的话,你需要在安装完成后,单独设置pg_hba.conf文件,具体设置我们在后面再说明。

  选择在默认创建的测试数据库template1中激活的过程语言,我这儿只选择了pgsql了。注意这个对话框只有你在选择了让PostgreSQL作为一个系统服务运行,并且选择了初始化数据库组件后才会出现。

选择过程语言

  选择在测试数据库template1中激活的模块,所有的扩展文件都是会被安装上,这一步只是选择在你所有的数据库中默认激活哪些模块。这些扩展模块能提供一些增强的功能。(基本上默认就行了)


选择加载扩展模块

  至此安装配置参数就已经配完了,你只需要点下一步等待安装完成就可以了,PostgreSQL安装速度很快,根据机器不同时间略有不同。最后出现安装成功界面。

客户端连接设置

  PostgreSQL出于安全考虑,默认是拒绝所有远程客户端的连接的,如果你要想远程登录服务器端的话,需要设置pg_hba.conf,从开始菜单-->程序-->PostgreSQL-->configuration files中选择编辑pg_hba.conf。


编辑pg_hba.conf

  修改为如下内容:

  

  # IPv4 local connections:

  host  all     all     127.0.0.1/32    md5

  host  all     all     192.168.1.113/32  md5

  

  这样表示本机和192.168.1.113这台机器可以通过经过MD5加密的密码连接数据库。通过修改IP地址的掩码,也可以允许哪一个段的地址可以连接服务器。另外,认证方式MD5还可以改为trust,表示完全信任这个地址的连接(这一点在调试程序时比较方便)。改为password,表示通过密码连接,但是密码以明文方式发送。设置完后,需要重新启动PostgreSQL才能生效。

### PostgreSQLPostGIS 使用指南 #### 安装配置 安装PostgreSQLPostGIS对于构建功能齐全的空间数据库至关重要。通常,可以从官方源获取最新版本的软件包并按照说明进行安装。完成基本设置之后,在已有的PostgreSQL环境中启用PostGIS扩展可以极大增强其处理空间数据的能力[^1]。 ```bash # 创建带有postgis扩展支持的新数据库 createdb my_spatial_db psql -d my_spatial_db -c "CREATE EXTENSION postgis;" ``` 上述命令用于创建一个新的数据库实例`my_spatial_db`,并通过SQL语句激活其中的PostGIS特性。 #### 查询优化 为了提升查询效率,合理利用索引结构必不可少。特别是针对复杂的空间关系运算,采用适合的数据索引来加速检索过程显得尤为重要。GIN(广义倒排索引)和GiST(广义搜索树)这两种类型的索引非常适合用来改善涉及多维特征或全文本条件下的表现效果[^2]。 例如: ```sql -- 对geometry列建立GiST索引以加快空间操作的速度 CREATE INDEX idx_geom ON spatial_table USING GIST (geom); ``` 此代码片段展示了如何基于特定表格中的几何图形字段创建一个GiST索引,从而有助于更快速地执行诸如交集测试之类的任务。 #### 空间数据分析 借助于PostGIS所提供的广泛而深入的功能集合,用户不仅能够实现常规的关系型事务处理逻辑,还可以开展高级别的地理信息计算工作。这包括但不限于距离测量、缓冲区生成以及拓扑连接判断等功能模块。这些能力使得PostgreSQL成为了一个理想的平台去承载各类依赖精确位置感知的应用场景开发需求。 ```sql SELECT ST_Distance(geo_point_a, geo_point_b) AS distance_between_points; ``` 这段简单的SQL表达式演示了怎样调用内置函数`ST_Distance()`来求取两点间的直线间距;当然实际项目里可能还会涉及到更多复杂的组合运用情况。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值