zoukankan      html  css  js  c++  java
  • PostGIS 安装教程(Linux)(一)

    ##本文分两部分,第一部分讲linux下postgresql的安装,第二部分讲postgis的安装

    ##感谢作者:https://www.linuxidc.com/Linux/2017-10/147536.htm

    安装环境:

    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 postgresql94

    3. 安装服务器端

    #yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;

    #同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成,需要进入数据库后修改;

    #PostgreSQL在数据库用户同名的系统账号下登录免密。

    [root@psql_master ~]# yum install postgresql94-server

    4. 初始化

    [root@psql_master ~]# /usr/pgsql-9.4/bin/postgresql94-setup initdb

    5. 设置开机启动

    [root@psql_master ~]# systemctl enable postgresql-9.4

    6. 启动

    [root@psql_master ~]# systemctl start postgresql-9.4

    7. 修改用户密码

    #yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;

    [root@psql_master ~]# su - postgres

    #切换用户后,提示符变更为“-bash-4.2$”;

    #同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成;

    #PostgreSQL在数据库用户同名的系统账号下登录免密;

    -bash-4.2$ 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.4/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.4/data/pg_hba.conf host all all 0.0.0.0/0 trust

     ##vim操作:i进入编辑状态,esc退出编辑状态,:wq保存并退出

     ##这里在后面操作过程中,可能会出现认证失败的报错。如下:

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

    10. 设置环境变量

    [root@psql_master ~]# vim /etc/profile

    ##添加export PATH=$PATH:/usr/pgsql-9.4/bin

    [root@psql_master ~]# source /etc/profile

    11. 重启服务

    [root@psql_master ~]# systemctl restart postgresql-9.4

    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;

  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/giser-s/p/11195419.html
Copyright © 2011-2022 走看看