在 CentOS 8 上安装 PostgresSQL 12 + PostGIS + GeoServer 连接

10.168.1.110

硬件要求
    以下安装要求假定您在安装过程中选择了默认选项。安装和运行PostgreSQL所需的最低硬件是:
    1 GHz处理器
    2 GB的RAM
    512 MB硬盘

在CentOS 8上安装PostGIS 3.0需要几个步骤:
    以root身份运行以下步骤:    
        -安装PostgreSQL repo RPM:        
        dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
        
        -禁用postgresql模块:        
        dnf -qy module disable postgresql
        
        -安装EPEL库RPM:        
        dnf -y install epel-release
        
        -启用PowerTools存储库(某些依赖项是必需的):        
        dnf -y config-manager --set-enabled PowerTools
        
        -现在,您终于可以安装PostGIS了:        
        dnf -y install postgis30_12

        //看看服务是否启动
        service postgresql-12.service restart  //systemctl status postgresql-12.service #查状态
        //没有启动成功,看看日志
        journalctl -xe
            Aug 06 11:00:59 localhost.localdomain postgresql-12-check-db-dir[1520]: "/var/lib/pgsql/12/data/" is missing or empty.
            Aug 06 11:00:59 localhost.localdomain postgresql-12-check-db-dir[1520]: Use "/usr/pgsql-12/bin/postgresql-12-setup initdb" to initialize the database cluster.
            Aug 06 11:00:59 localhost.localdomain postgresql-12-check-db-dir[1520]: See /usr/share/doc/postgresql12/README.rpm-dist for more information.
        //根据日志提示初始化数据库集群
        /usr/pgsql-12/bin/postgresql-12-setup initdb
        //完成之后再次启动服务,启动成功后
        service postgresql-12.service restart
        //切换到postgres用户
        sudo -i -u postgres 
        //列出数据库
        psql -l
        //连接到数据库名为postgres的
        psql -d postgres         
        //创建测试用户 和 测试数据库
        createuser test_user
        createdb test_db -O test_user  ,/postgres11不能加下划线!/
        //连接到测试数据库//进入sql界面    
        psql -d test_db     
        //在该数据库上启用PostGIS扩展 
        CREATE EXTENSION postgis;      /不要将其安装在名为postgres的数据库中/  
        //验证是否开启成功
        SELECT PostGIS_version();
    
    
    配置PostgreSQL以允许远程连接:
        配置"postgresql.conf"
            netstat -nlt //如我们所见,端口5432绑定到127.0.0.1。这意味着从机器外部连接到postgresql服务器的任何尝试都将被拒绝 ,不信测测telnet theIP 5432
            find / -name "postgresql.conf" //查到配置文件再路径 /var/lib/pgsql/10.2/data/postgresql.conf
                listen_addresses = 'localhost' 改为  listen_addresses = '*'
            service postgresql-12.service restart
            netstat -nlt //可以看到0.0.0.0:5432 ,此时可以从外网访问了
        
        配置"pg_hba.conf"
            在最后添加
            host    all             all              0.0.0.0/0                       trust
            host    all             all              ::/0                            trust
                        
    安装pgAdmin 4 UI工具,远程连接即可执行sql语句:
        //pgAdmin 3 不支持postgres10.2
    
    用Q-GIS导入shp到PostGIS:
        DataBase - DB Manager - import Layer/File
    在GeoServer里使用:
        添加新的数据存储
        host 10.168.1.110
        port 5432
        database demo
        schema public
        user postgres
        passwd postgres
        

pqsql界面命令:        
    \q\  //退出sql界面


启用PostGIS(官网)
    PostGIS是一个可选扩展,必须在要使用它的每个数据库中启用它,然后才能使用它。安装软件只是第一步, /不要将其安装在名为postgres的数据库中/
    使用psql或PgAdmin 连接到数据库。运行以下SQL。您只需要安装所需的功能:
        -启用PostGIS(从3.0版开始仅包含几何/地理)
        CREATE EXTENSION postgis;  
        -启用栅格支持(3 +以上)
        CREATE EXTENSION postgis_raster;
        -启用拓扑
        CREATE EXTENSION postgis_topology;
        -启用PostGIS的高级3D 和其他地理处理算法,sfcgal不适用于所有发行
        CREATE EXTENSION postgis_sfcgal;
        -Tiger需要的模糊匹配
        CREATE EXTENSION Fuzzystrmatch
        -基于规则的标准化器
        CREATE EXTENSION address_standardizer;
        -示例规则数据集
        CREATE EXTENSION address_standardizer_data_us;
        -启用US Tiger Geocoder 
        CREATE EXTENSION postgis_tiger_geocoder;

 

你可能感兴趣的:(开源GIS)