PostGIS linux安装

PostGIS 安装教程
安装环境:
CentOS7-x86_64
postgresql9.4
postgis2.4
步骤:
一、安装PostgreSQL

  1. 安装rpm
    [root@psql_master ~]# yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    *****可以在https://www.postgresql.org/download/linux/redhat/网址上找对应版本

  2. 安装客户端
    [root@psql_master ~]# yum install postgresql96

  3. 安装服务器端
    #yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;
    #同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成,需要进入数据库后修改;
    #PostgreSQL在数据库用户同名的系统账号下登录免密。
    [root@psql_master ~]# yum install postgresql96-server

  4. 初始化
    [root@psql_master ~]# /usr/pgsql-9.6/bin/postgresql96-setup initdb

  5. 设置开机启动
    [root@psql_master ~]# systemctl enable postgresql-9.6

  6. 启动
    [root@psql_master ~]# systemctl start postgresql-9.6

  7. 修改用户密码
    #yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;
    [root@psql_master ~]# su - postgres
    #切换用户后,提示符变更为“-bash-4.2KaTeX parse error: Expected 'EOF', got '#' at position 4: ”; #̲同时数据库中也会生成一个名为”… psql -U postgres
    #进入数据库后修改密码;
    postgres=# alter user postgres with password ‘123456’;

  8. 允许远程访问
    #配置文件中,默认只能本机访问postgresql;
    #修改listen_addresses = 'localhost’为listen_addresses = ‘’,允许所有远程访问;
    #修改配置文件需要重启服务。
    [root@psql_master ~]# sed -i "s|#listen_addresses = ‘localhost’|listen_addresses = '
    ’|g" /var/lib/pgsql/9.6/data/postgresql.conf

  9. 主机认证
    #在第82行之后,”IPv4 local connections”下新增允许的客户端;
    #“host” 代表主机类型,第一个“all”代表db ,第二个“all”代表user ,“172.29.3.67/32” 代表client ip(0.0.0.0/0表示不限制),“trust”代表认证方式;
    #认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等,具体可参考pg-hba文件: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
    #修改pg.hba文件需要重启服务。
    [root@psql_master ~]# vim /var/lib/pgsql/9.6/data/pg_hba.conf host all all 0.0.0.0/0 trust

##vim操作:i进入编辑状态,esc退出编辑状态,:wq保存并退出
##这里在后面操作过程中,可能会出现认证失败的报错。

##可以在这pg_hba.conf,将peer处改为trust(这里测试环境,如果正式环境不建议改为trust,可改为md5)

  1. 设置环境变量
    [root@psql_master ~]# vim /etc/profile
    ##添加export PATH=$PATH:/usr/pgsql-9.6/bin

[root@psql_master ~]# source /etc/profile
11. 重启服务
[root@psql_master ~]# systemctl restart postgresql-9.6

以下内容一般可跳过
12. iptables
#postgresql默认开启tcp5432端口
#这里可能有部分系统没有iptables服务,restart时会报错,重启机器即可
[root@psql_master ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
[root@psql_master ~]# service iptables restart
13. 查看端口
#安装完成后,测试看如果有5432端口即可
[root@psql_master ~]# netstat -tunlp
14. 简单使用(命令需以";"结束)
1)创建用户
postgres=# create user postuser1 with password ‘user1@123’;
2)创建数据库
#同时指定数据库的所有者
postgres=# create database postdb1 owner postuser1;
3)数据库赋权
#未赋权则账户只能登录控制台
postgres=# grant all privileges on database postdb1 to postuser1;
4)登录新建数据库
#在操作系统层使用新建的账号登录新建的数据库,登录后提示符为“postdb1=>”;
#如果在postgres账户下直接使用“postgres=# \c postdb1;”登录,则登录用户依然是postgres,
-bash-4.2$ psql -U postuser1 -d postdb1 -h 127.0.0.1 -p 5432
5)创建表
postdb1=> create table tb1( id int primary key, name VARCHAR(20), salary real );
6)插入数据
postdb1=> insert into tb1( id, name, salary) values( 101, ‘Mike’, 5000.00 );
7)查询
postdb1=>select * from tb1;

二、安装PostGIS

  1. 安装epel
    #网上资料说,由于2.0中引入了GDAL和JSON等依赖关系,PostGIS有很多依赖关系,因此安装之前需要先安装依赖项。
    [root@psql_master ~]# yum -y install epel-release

  2. 安装PostGIS
    #版本号格式为:_前为postgis版本,后面为postgresql版本(这里是网上的说法,暂时还没验证,本想装postgis2.2,可是这个命令下装的是2.4,具体什么原因待研究)
    [root@psql_master ~]# sudo yum install postgis2_94
    #实验证明如果要装postgis2.2版本,可以命令改为
    [root@psql_master ~]# sudo yum install postgis22_94

  3. 新建扩展
    #安装完postgis后,并不表示可以使用空间数据库功能了,需要先激活数据库上的PostGIS功能,然后才能存储空间数据
    1)先切换到用户
    [root@psql_master ~]# sudo -i -u postgres
    2)创建测试用户/数据库
    -bash-4.2$ createuser test_user
    -bash-4.2$ createdb test_db -O test_user
    #上面创建test_db命令 -o是英文字母o,不是零
    3)连接到测试数据库
    -bash-4.2$ psql -d test_db
    4)在数据库上启用PostGIS扩展
    test_db=# CREATE EXTENSION postgis;
    5)验证
    test_db=# SELECT PostGIS_version();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值