GIS on CentOS 7 之 PostgreSQL & PostGIS
PostgreSQL & PostGIS
安装postgresql
配置好yum源之后,使用yum info postgresql
可发现 postgresql的版本为9.2.23,若想安装最新版本,可参考下面操作
https://www.postgresql.org/download/linux/redhat/
http://docs.nextgis.com/docs_ngweb/source/install-centos7.html
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 --help
rpm -qa | grep postgresql* # 查看已安装软件
# 初始化数据库,并设置随系统启动
sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb
sudo systemctl start postgresql-9.5.service # service postgresql-9.5 start
sudo 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
PostgreSQL ident和peer基于操作系统用户的认证 PostgreSQL认证方法
如果是 peer,可能会出现 对等认证失败 的错误
# "local" is for Unix domain socket connections only
local 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 postgres
psql -U postgres #登录数据库,默认没有密码
ALTER USER postgres WITH PASSWORD '密码'; #修改密码 sudo passwd postgres
# 或者使用 \password 命令
\password postgres
select * from pg_shadow; # 查看数据库信息
\q #退出
psql -V
sudo 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_admin
sudo -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 Topology
CREATE EXTENSION postgis_topology;
# Enable PostGIS Advanced 3D
# and other geoprocessing algorithms
# sfcgal not available with all distributions
CREATE EXTENSION postgis_sfcgal;
# fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
# rule based standardizer
CREATE EXTENSION address_standardizer;
# example rule data set
CREATE EXTENSION address_standardizer_data_us;
# Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION pgrouting;
SELECT * FROM pgr_version();
# yum install ogr_fdw95
CREATE EXTENSION ogr_fdw;
GIS on CentOS 7 之 PostgreSQL & PostGIS的更多相关文章
- 搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
Web GIS系列: 搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 使用GeoServer+QGIS发布WMTS服务 使用GeoSe ...
- PostgreSQL+PostGIS
PostGIS简介 PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象.空间索引.空间操作函数和空间操作符.同时,PostGIS遵循O ...
- PostgreSql+PostGIS和uDig的安装
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 总体来说,这两款开源软件均是很好安装的,一般按照提示一步一步 ...
- Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
近日需要将PostgreSQL数据库从Windows中迁移到Linux中,Linux CentOS 7 安装PostgreSQL 9.5.17 安装过程 特此记录. 安装环境: 数据库:Postgre ...
- PostgreSQL+PostGIS的使用 函数清单
一. PostgreSQL与PostGIS的关系 PostgreSQL 是世界上技术最先进的开源数据库,其前身是1977年一个源于Berkeley名为Ingres的非关系型数据库,其项目领导人为Mic ...
- GeoServer+PostgreSQL+PostGIS+pgRouting实现最短路径查询
一.软件安装 GeoServer下载地址: http://geoserver.org/download/ PostgreSQL下载地址: https://www.postgresql.org/down ...
- PostgreSQL(PostGIS)安装和入门的若干问题
1. 装完PostgreSQL后记得打开pgAdmin4启动一下服务器和启动一下数据库,否则PostGIS装不上. 2. pgAdmin4是网页,而3是客户端,当然都可以在File - Prefere ...
- PostgreSQL&PostGIS完全安装
检查PostGIS.PostgreSQL.GEOS.GDAL.PROJ等各软件的版本依赖关系 http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQ ...
- ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(一)安装第三方空间库
postgis是postgresql的空间扩展对象,它需要一些第三方库的支持.包括GEOS, PROJ.4 和 GDAL.我们首先安装这几个空间库. 在ubuntu系统终端执行:(预先装一些依赖的库) ...
随机推荐
- php设计模式:单例模式
前些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理解了,设计模式这些的花点心思基本的是能够理解的,当然要 ...
- Jenkins进阶-发布后自动创建git tag(5)
为了便于项目中对发布的版本进行回滚,所以我们每次发布完成以后自动创建git tag. 1,创建一个Jenkins任务,命名成为push_tag_demo: 2,配置<源码管理>,这里配置比 ...
- import和export语法报错
“最近在学习ES6”,但是在chrome中新建了js通过ES6语法(import,export)无法引入外部JS,报错: Uncaught SyntaxError:Unexpected token { ...
- hyperledger fabric各类节点及其故障分析
1.Client节点 client代表由最终用户操作的实体,它必须连接到某一个peer节点或者orderer节点上与区块链网络通信.客户端向endorser提交交易提案,当收集到足够背书后,向排序服务 ...
- adb命令查看app的日志
前言 在做app测试的时候,经常会遇到异常,此时如果开发没有异常保存,那么测试就得通过adb命令来查看日志信息.基于Windows平台的操作: logcat输出日志 一.把日志输出到手机指定目录 其命 ...
- python selenium-6 HTML测试报告
1.生成HTML测试报告 import unittest,sys from selenium import webdriver from time import sleep class TestBai ...
- Nginx Tengine ngx_http_upstream_check_module 健康功能检测使用
该模块可以为Tengine提供主动式后端服务器健康检查的功能. 该模块在Tengine-1.4.0版本以前没有默认开启,它可以在配置编译选项的时候开启:./configure --with-http_ ...
- X-Requested-With
最近工作中发现,使用angular $http跨域的时候,虽然后台已经配置了跨域允许,但是还是报错. 查资料发现,angular $http 的request的请求头中,默认有: Access-Con ...
- Spectrum Scale
高端存储:2016年为止,最新产品为DS8884.DS8886和DS8888. 闪存系统:2016年为止,最新产品,以FlashSystem 900为硬件基础,包装了FlashSystem V9000 ...
- BigDecimal空指针异常——个人应用
背景: 将数据库统计的数据,封装成了两个BigDecimal,此时要将两个BigDecimal进行运算.其中有一个没有数据的话,会报null(不管null值在前在后) 先上解决: 我把数据库的数据进行 ...