加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql和postgis安装配置

发布时间:2020-12-13 17:22:42 所属栏目:百科 来源:网络整理
导读:安装规划: 1. 版本 选择 : 根据 postgis 官方的说明,推荐的版本组合如下: http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS postgis2.1 与 pgsql9.1/9.2/9.3 是最佳的,最新的 pgsql9.4 并不是最好的选择 ( 虽然支持实际使用中也正常 ) p

安装规划:

1.版本选择
根据postgis官方的说明,推荐的版本组合如下:

http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS

postgis2.1pgsql9.1/9.2/9.3是最佳的,最新的pgsql9.4并不是最好的选择(虽然支持实际使用中也正常)

postgis2.1geos组合:

3.3可用,但不推荐

3.4/3.5推荐

gdal版本要求:1.8可用,但不推荐。推荐使用1.9/1.10/1.11

postgresql9.4

gdal1.9

postgis2.1.5

最佳组合如下:

pgsql9.1/9.2/9.3

geos3.4/3.5

gdal1.9

故推荐的组合为pgsql9.3+geos3.5+gdal1.10

yum仓库的geosgdal版本太旧,所以应该从源码安装geos3.5gdal1.10

计划使用EPEL安装附加的软件包:

rpm-ivhhttp://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm

2.数据目录位于/data/pgdata

3.pgsql服务器进程账号名称为postgres

先按正常的顺序安装postgresql

安装必要的依赖库

yuminstallgdgd-devellibtool*autoconf*readline*

1.建立系统用户postgres,它将作为pgsql服务器进程和默认的超级用户

useraddpostgres

tar-xfpostgresql-9.4.0.tar.gz

cdpostgresql-9.4.0

./configure

make

makeinstall

默认安装到/usr/local/pgsql目录中

将其库目录加入到系统库文件检索路径中:

echo/usr/local/pgsql/lib>>/etc/ld.so.conf

ldconfig

/root/.bashrc文件中加入以下内容;

exportPATH="$PATH:/usr/local/pgsql/bin"

再执行source~/.bashrc

以便方便使用pgsql的命令

安装系统服务,源码包中已经包含服务启动脚本

cpcontrib/start-scripts/linux/etc/init.d/postgres

chmod+x/etc/init.d/postgres

chkconfig--addpostgres

然后修改/etc/init.d/postgres文件,将PGDATA变量修改为/data/pgdata

即我们规划的数据目录

初始化数据库目录:

mkdir-p/data/pgdata

chown-Rpostgres:postgres/data/pgdata

初始化数据库:

必须使用postgres用户执行:

supostgres

/usr/local/pgsql/bin/initdb-D/data/pgdata/

exit

初始化完成后,就可以启动服务

servicepostgresstart

验证:

netstat-ntpl

postgresql默认监听在5432端口

psql-Upostgres

到此,postgresql安装完成

二、开始postgis的安装:

postgis依赖gdal,yum源中的版本过低,不满足最低版本要求(1.8+),故从源码安装之:

tar-xfgdal-1.9.0.tar.gz

cdgdal-1.9.0

./configure

make

makeinstall

gdal的库目录加入到系统库文件检索目录中:

echo/usr/local/lib>>/etc/ld.so.conf

ldconfig

postgis依赖以下库:

geos3.3+,推荐使用3.4及以上版本,EPEL中的版本为3.3.2

yuminstallgeos-develproj*

tar-xfpostgis-2.1.5.tar.gz

cdcdpostgis-2.1.5

./configure

make

makeinstall

登录pgsql命令行,安装gis扩展:

psqltest-Upostgres

CREATEEXTENSIONpostgis;

CREATEEXTENSIONpostgis_topology;

CREATEEXTENSIONfuzzystrmatch;

出错:

ERROR:couldnotopenextensioncontrolfile"/usr/local/pgsql/share/extension/fuzzystrmatch.control":Nosuchfileordirectory

这个扩展已经包含在pgsql源码中,但是默认并未完成,所以需要安装之,进入pgsql源码目录:

cdcontrib/fuzzystrmatch/

make

makeinstall

然后再在pgsql命令行下执行:CREATEEXTENSIONfuzzystrmatch;

没有出现错误

CREATEEXTENSIONpostgis_tiger_geocoder;

没有出错,至此postgis安装完成

测试功能:

CREATETABLEmytable(

idSERIALPRIMARYKEY,

geomGEOMETRY(Point,26910),

nameVARCHAR(128)

);

CREATEINDEXmytable_gix

ONmytable

USINGGIST(geom);

INSERTINTOmytable(geom)VALUES(

ST_GeomFromText('POINT(00)',26910)

);

SELECTid,name

FROMmytable

WHEREST_DWithin(

geom,

ST_GeomFromText('POINT(00)',

1000

);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读