Postgresql+postgis安装部署

一、环境介绍
系统平台:CentOS release 6.6 (Final)

Postgresql:postgresql-9.6.6

二、安装过程

1.安装依赖包

yum -y install gcc*
yum -y install readline-devel
2.	源码包获取
wget http://ftp.postgresql.org/pub/source/v9.6.6/postgresql-9.6.6.tar.gz
3.	解压
tar zxf postgresql-9.6.6.tar.gz
5.创建用户、设置密码
adduser postgres
passwd postgres
6.	编译安装
cd postgresql-9.6.6
./configure --prefix=/home/postgres/pgsql
gmake
gmake install
7.设置环境变量
vim /etc/profile
添加一行
PATH=$PATH:$HOME/bin:/home/postgres/pgsql/bin
source /etc/profile
8.创建数据库目录
mkdir /home/postgres/pgsql/data
创建数据库操作历史记录文件
touch /home/postgres/pgsql/.pgsql_history
更改所属组
chown -R postgres:postgres /home/postgres/pgsql/*
9.切换到postgre用户,初始化数据库
su - postgres
/home/postgres/pgsql/bin/initdb -D /home/postgres/pgsql/data
exit
10.编译启动命令
从postgres解压后的文件夹里拷贝linux到/etc/init.d/
cp /root/postgresql-9.6.6/contrib/start-scripts/linux /etc/init.d/postgresql
vim /etc/init.d/postgresql
修改下面两行:
prefix=/home/postgres/pgsql
PGDATA="/home/postgres/pgsql/data"
保存退出
添加可执行权限
chmod +x /etc/init.d/postgresql
11.启动postgres数据库
/etc/init.d/postgresql start
12.测试使用
[root@MidApp ~]#su - postgres
[postgres@MidApp ~]$ psql
psql (9.6.6)
Type "help" for help.
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.utf-8 | en_US.utf-8 | 
 template0 | postgres | UTF8     | en_US.utf-8 | en_US.utf-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.utf-8 | en_US.utf-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)
postgres=# \q


13.安装PostGis的前提库
1.Proj4
tar xzvf proj-4.7.0.tar.gz  
cd proj-4.7.0  
./configure --prefix=/home/users/yourname/local/proj-4.9.3 --without-jni
make  
make install  
 
2.GEOS
tar jxvf geos-3.4.2.tar.bz2  
cd geos-3.4.2  
./configure --prefix=/home/users/yourname/local/geos-3.6.2
make  
make install  
 

3.libxml2
tar xzvf libxml2-2.9.0.tar.gz  
cd libxml2-2.9.0  
./configure  
make  
make install  
 如果在libxml2的configure中出现的错误:cannot remove 'libtoolT':No such file or directory

解决方法:
修改configure文件
$vim configure

删除这一行:$RM "$cfgfile"
保存再运行 ./configure
安装默认路径/usr/local
安装后可能需要重新定义:
export LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

4.cmake-3.10.2
tar  -zxvf
./configure
make
make install

5.JsonCpp
sudo yum install cmake
git clone https://github.com/open-source-parsers/jsoncpp.git
cd jsoncpp
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_SHARED=OFF -G "Unix Makefiles" ../../
make
sudo make install

6.python-devel-2.7.5-16.el7.x86_64.rpm
7.json-c
tar xzvf json-c-json-c-0.11-20130402.tar.gz  
cd ./json-c-json-c-0.11-20130402  
./configure  
make  
make install  
 

8.GDAL
tar xzvf gdal-1.9.2.tar.gz  
cd gdal-1.9.2  
./configure --prefix=/home/users/yourname/local/gdal-2.2.1 --with-geos=/home/users/yourname/local/geos-3.6.2/bin/geos-config
make make install 
9.修改该etc下面ld.so.conf文件
/home/postgres/pgsql/lib
/home/users/yourname/local/gdal-2.2.1/lib

 
八、安装PostGis

Shell代码  收藏代码
tar zxvf postgis-2.1.2.tar.gz  
cd postgis-2.1.2  
./configure --with-pgconfig=/home/postgres/pgsql/bin/pg_config  --with-geosconfig=/home/users/yourname/local/geos-3.6.2/bin/geos-config  --with-projdir=/home/users/yourname/local/proj-4.9.3 --with-gdalconfig=/home/users/yourname/local/gdal-2.2.1/bin/gdal-config
make  
make install  
 

九、检查postgis安装是否正确

连接数据库执行:

select * from pg_available_extensions where name like 'postgis%';



 

有以上3条就说明PostGis安装成功了。

 

 十、为数据库增加PostGis插件

psql -d [yourdatabase] -c "CREATE EXTENSION postgis;"

psql -d [yourdatabase] -c "CREATE EXTENSION postgis_topology;"

 

 安装客户端插件(不必须):

psql -p 5432 -c "CREATE EXTENSION adminpack;"

 

十一、简单备份

备份

pg_dump dbname | gzip > filename.gz

还原

gunzip -c filename.gz | psql dbname

或者

cat filename.gz | gunzip | psql dbname

 

 分文件备份

pg_dump dbname | split -b 1m - filename

还原

cat filename* | psql dbname



http://blog.51cto.com/qingmiao/2046357
http://toplchx.iteye.com/blog/2090908
欢迎咨询QQ416534633


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL+PostGIS 相对于 Oracle Spatial 在以下几个方面具有优势: 1. 开源和免费:PostgreSQL+PostGIS 是开源的数据库系统,可以免费使用,并且在开源社区中有广泛的支持和贡献。相比之下,Oracle Spatial 是商业数据库产品,可能需要支付高额的许可费用。 2. 社区支持和生态系统:PostgreSQL+PostGIS 有庞大的开源社区支持,许多开发者和组织都在为其开发新功能、解决问题和提供支持。这意味着用户可以从活跃的社区中获取帮助、学习和分享经验。 3. 扩展性和灵活性:PostgreSQL 是一个高度可扩展的数据库系统,可以轻松处理大规模数据集。PostGIS 扩展为 PostgreSQL 提供了丰富的地理空间功能,包括拓扑关系查询、空间索引、几何运算等。用户可以根据自己的需求选择性地安装和配置 PostGIS 扩展,使其更适合特定的应用场景。 4. 标准兼容性:PostgreSQL+PostGIS 遵循 SQL 和 OGC(Open Geospatial Consortium)的标准,支持标准的地理空间数据模型和函数。这使得它与其他遵循相同标准的地理空间数据系统具有良好的互操作性。 5. 可定制性和开发灵活性:开源的 PostgreSQL+PostGIS 提供了许多扩展和插件,用户可以根据自己的需求进行定制和开发。这使得用户可以根据具体应用的要求,灵活地扩展和定制地理空间功能。 需要注意的是,选择使用 PostgreSQL+PostGIS 还是 Oracle Spatial 取决于具体的需求和环境。如果对性能、功能全面性和与商业软件集成有较高要求,以及有相应的预算支持,那么 Oracle Spatial 可能更适合。而如果希望免费使用、享受开源社区支持、具备灵活性和可定制性,那么 PostgreSQL+PostGIS 是一个更好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值