博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GIS on CentOS 7 之 PostgreSQL & PostGIS
阅读量:4577 次
发布时间:2019-06-08

本文共 3839 字,大约阅读时间需要 12 分钟。

PostgreSQL & PostGIS

安装postgresql

配置好yum源之后,使用yum info postgresql可发现 postgresql的版本为9.2.23,若想安装最新版本,可参考下面操作

sudo yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm# 查看上述仓库中可用的包yum list | grep postgresql95# 安装 PostgreSQL  client server sudo yum install postgresql95 postgresql95-server postgresql95-libs \postgresql95-contrib postgresql95-devel# 查看帮助psql --helprpm -qa | grep postgresql*  # 查看已安装软件# 初始化数据库,并设置随系统启动sudo /usr/pgsql-9.5/bin/postgresql95-setup initdbsudo systemctl start postgresql-9.5.service # service postgresql-9.5 startsudo systemctl enable postgresql-9.5.service# 编辑验证参数(此处使用nano编辑器,可以使用 vim)# psql 进入postgres数据库之后,使用 show hba_file; 查看文件位置sudo nano /var/lib/pgsql/9.5/data/pg_hba.conf sudo vim /var/lib/pgsql/9.5/data/pg_hba.conf

将ident 修改为 md5

如果是 peer,可能会出现 对等认证失败 的错误

# "local" is for Unix domain socket connections onlylocal   all             all                                     md5# IPv4 local connections:host    all             all             127.0.0.1/32            md5# IPv6 local connections:host    all             all             ::1/128                 md5
# 可进一步修改 postgresql.conf 以监听目标地址su postgres   # 切换到postgres    或   sudo su postgrespsql -U postgres   #登录数据库,默认没有密码ALTER USER postgres WITH PASSWORD '密码'; #修改密码  sudo passwd postgres# 或者使用 \password 命令\password postgres select * from pg_shadow; # 查看数据库信息\q #退出psql -Vsudo systemctl restart postgresql-9.5.service # 重启服务,或  service postgresql-9.5 restart# 使用postgres用户新建一个psql数据库用户(ngw_admin)# \du 命令可以查看用户信息# -P 表示密码,-e表示显示命令。 使用 -s 或 --superuser 赋予超级用户权限sudo -u postgres createuser ngw_admin -P -e# 新建数据库(db_ngw),所有者为 ngw_adminsudo -u postgres createdb -O ngw_admin --encoding=UTF8 db_ngw
postgresql-client libraries and client binaries
postgresql-server core database server
postgresql-contrib additional supplied modules
postgresql-devel libraries and headers for C language development
pgadmin4 pgAdmin 4 graphical administration utility

### 安装postgis

The postgis2_95-client contains the PostGIS commandline tools shp2gpsql, pgsql2shp, raster2pgsql that are useful for loading or exporting spatial data.

sudo yum install epel-release # 没有配置epel源的话sudo yum install postgis2_95 postgis2_95-client # 安装# 需要 pgRouting 时 yum install pgrouting_95# 登录进入相应数据库psql -U ngw_admin -d db_ngw# 为已有数据库(db_ngw)扩展 postgis 功能CREATE EXTENSION postgis;SELECT PostGIS_Full_Version(); # 测试数据库是否包含了postgis的功能

或者直接在shell中执行

sudo psql -u postgres -d db_ngw -c 'CREATE EXTENSION postgis;'sudo psql -u postgres -d db_ngw -c \'ALTER TABLE geometry_columns OWNER TO ngw_admin;'sudo psql -u postgres -d db_ngw -c \'ALTER TABLE spatial_ref_sys OWNER TO ngw_admin;'sudo psql -u postgres -d db_ngw -c \'ALTER TABLE geography_columns OWNER TO ngw_admin;'psql -h localhost -d db_ngw -U ngw_admin -c "SELECT PostGIS_Full_Version();"

使用template方式直接创建postgis数据库,并指定所有者

# 登录数据库# postgis_21_sample 为 2.1 版本postgis数据库create  database  geodataont   template   postgis_21_sample   owner   gdo;# 或者createdb -O gdo -U postgres -T postgis_22_sample geodataont

启用 PostGIS 功能的相关SQL

DO NOT INSTALL it in the database called postgres.

# 连接数据库之后,执行以下sql命令启用相应功能# Enable PostGIS (includes raster)CREATE EXTENSION postgis;# Enable TopologyCREATE EXTENSION postgis_topology;# Enable PostGIS Advanced 3D# and other geoprocessing algorithms# sfcgal not available with all distributionsCREATE EXTENSION postgis_sfcgal;# fuzzy matching needed for TigerCREATE EXTENSION fuzzystrmatch;# rule based standardizerCREATE EXTENSION address_standardizer;# example rule data setCREATE EXTENSION address_standardizer_data_us;# Enable US Tiger GeocoderCREATE EXTENSION postgis_tiger_geocoder;CREATE EXTENSION pgrouting;SELECT * FROM pgr_version();# yum install ogr_fdw95CREATE EXTENSION ogr_fdw;

转载于:https://www.cnblogs.com/yes-V-can/p/9116326.html

你可能感兴趣的文章
JAVA快速开发项目汇总
查看>>
Gitblit服务器搭建【基于windown系统】
查看>>
jq 移动端网页分享功能_jquery代码实现多选、不同分享功能
查看>>
python登录面向对象_python基础 面向对象一
查看>>
人工智能建立本体库_基于本体技术的知识库构建设想
查看>>
python程序设计教程胡建华_Python程序设计教程
查看>>
仓库温度湿度控制措施_仓库温度、湿度控制管理制度(1)
查看>>
linux下定时调度shell脚本_Linux下使用shell脚本自动执行脚本文件 编辑shell定时脚本...
查看>>
erlang启动参数详解_Erlang启动参数详解
查看>>
mac php-frm xampp_如何在Mac中使用shell_exec xampp php
查看>>
axure 导入元件库显示不出白框_猿型库:Axure小练习之自定义下拉框
查看>>
两个集合相减怎么算_你家使用的防火窗(耐火窗)质量合格吗?怎么判断好坏呢?...
查看>>
ue4加载本地图片_UE4引擎初始化原理详细讲解
查看>>
python整数作为条件_Python整数类型(int)详解
查看>>
pta简单实现x的n次方_c语言第二次作业pta..docx
查看>>
python导入规范_Python编程入门:如何规范的导入包和模块
查看>>
P2264 情书
查看>>
BZOJ 1004: [HNOI2008]Cards
查看>>
剪切板实现拖拽代码
查看>>
海量数据处理策略
查看>>