• PostGIS postgresql12安装postgis/mysql_fdw/pgrouting


    环境

    linux centOS 7.4
    postgresql 12.2
    postgis 2.5
    mysql_fdw 1.1
    pgrouting 2.6.3

    操作步骤

    前面写过一篇postgresql安装和使用mysql_fdw,但是那篇用的是postgresql9.4,现在该版本已经停止维护了。
    所以与时俱进,更新一版postgresql12的安装方式:

    1. postgres下载大全
      https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/

    2. 这里下载的是
      https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/mysql_fdw_12-2.5.3-1.rhel7.x86_64.rpm

    3. 在安装过程中,遇到需要mariadb-devel依赖。但是我的centerOS7.4版本中,装了mysql5.6,一直提示mariadb-devel被已安装的mysql-community-devel取代,单独卸载mysql-community-devel也没有用。
      mariadb-devel依赖

    4. 后来只能把mysql全部删除了:

      • 1)首先停用mysql:
        service mysqld stop

      • 2)查看mysql所有安装的包:
        [root@localhost~]# rpm -qa | grep mysql
        mysql所有安装的包

      • 3)逐个卸载:
        [root@localhost ~]# rpm -e mysql-community-release-el6-5.noarch //这里写你自己的
        [root@localhost~]# rpm -e --nodeps mysql包
        逐个卸载

      • 4)检查是否卸载干净:
        检查是否卸载干净

    5. 安装mysql_fdw
      yum是个好东西,只是mysql_fdw的资源很难找,现在我们有链接了就可以直接yum安装了。
      [root@localhost ~]# yum install mysql_fdw_12-2.5.3-1.rhel7.x86_64.rpm //会资源找不到
      改用以下方法:
      [root@localhost ~]# yum install https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/mysql_fdw_12-2.5.3-1.rhel7.x86_64.rpm
      (这里虽然安装成功,但是有警告。是否有问题,留待后面考证)
      安装成功

    6. 安装PgRouting
      [root@localhost ~]# yum install pgrouting_12(12是我装的postgresql的版本)

    这里遇到一个问题,pgrouting安装时会检测postgis的依赖。yum安装,目前版本是pgrouting3.0,而pgrouting3.0依赖postgis3.0,与之前我们装的postgis版本不一致,会报错。所以这里安装还是固定版本2.6.3

    [root@localhost ~]# yum install https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgrouting_12-2.6.3-1.rhel7.x86_64.rpm

    1. 安装完成后,检查环境
      gw_iocs=# dx
      检查环境

    功能记录

    Iocs_dispatch命令记录:
    1、 postgres=# create database gw_iocs owner postgres;
    CREATE DATABASE
    2、 postgres=# grant all privileges on database gw_iocs to postgres;
    GRANT
    3、 postgres=# c gw_iocs;
    您现在已经连接到数据库 "gw_iocs",用户 "postgres".
    4、 gw_iocs=# create extension postgis;
    CREATE EXTENSION
    5、 gw_iocs=# create extension mysql_fdw;
    CREATE EXTENSION
    6、 gw_iocs=# create server iocs_server foreign data wrapper mysql_fdw options (host '10.19..',port '3306');
    CREATE SERVER
    7、 gw_iocs=# create user mapping for postgres server iocs_server options (username 'root',password '123456');
    CREATE USER MAPPING
    8、 gw_iocs=# grant usage on foreign server iocs_server to postgres;
    GRANT
    9、 gw_iocs=# create foreign table f_dispatch_ledger_area(id int,area_name text,parent_id int) server iocs_server options (dbname 'iocs-dispatch',table_name 'dispatch_ledger_area');
    CREATE FOREIGN TABLE
    10、gw_iocs=# select * from f_dispatch_ledger_area;
    查询结果

  • 相关阅读:
    python+hadoop=?
    Fluentd: The Missing Log Collector
    hadoop streaming 记录
    valgrind备忘
    [hadoop源码阅读][9]mapreduce概论
    GNU Binutils工具
    vim encoding
    [hadoop源码阅读][8]datanodedatanode
    Webdis: HTTP + JSON API for Redis
    gdb 小备注
  • 原文地址:https://www.cnblogs.com/giser-s/p/12396678.html
Copyright © 2020-2023  润新知