linux(centos7)下如何安装postgresql和postgis并使用qgis发布shp数据

linux(centos7)下如何安装postgresql和postgis并使用qgis发布shp数据

标签(空格分隔): GIS


操作操作系统:为阿里云centos7

我也是第一次在linux下安装postgresql,也是遇到很多问题,特此纪记录一些

首先安装postgresql有两种方式

1、通过yum安装
2、编译安装

这里我们用更简单的yum安装

1、安装之前可以通过yum search postgresql来搜索自己需要的安装包版本。
建议9.1以上(支持postgis扩展)。
2、使用yum install postgresql-server来安装,当看到下面的complete就表示安装成功

Installed:
  postgresql-server.x86_64 0:9.2.24-4.el7_8                                   
Dependency Installed:
  postgresql.x86_64 0:9.2.24-4.el7_8                                          
Complete!

3、安装postgresql-server会附带安装上postgres客户端,因此不必重复安装。安装完成,postgresql操作相关的命令都会添加到/usr/bin目录下,可以在命令行下直接使用。
任意地方使用psql --version来检查是否安装成功

[root@izbp18r9ee0upuclbjiv6gz ~]# psql --version
psql (PostgreSQL) 9.2.24

4、安装成功后会同时生成linux下的postgres用户,目前只有通过非root用户才能登陆postgresql,登陆之前还要通过postgresql-setup initdb初始化数据库,初始化数据库之后会在/var/lib/pgsql/data下面生成相应的配置文件。

[root@izbp18r9ee0upuclbjiv6gz ~]# postgresql-setup initdb
Initializing database ... OK

5、修改配置文件使得root用户也能登陆postgresql和解决不能在远程连接postgresql问题。
(1)改配置文件/var/lib/pgsql/data下面的pg_hba.conf,将#local all all peer修改为:local all all trust
(2)配置文件中添加一句host all all 0.0.0.0/0 md5
(3)修改/var/lib/pgsql/data下面的postgresql.conf配置文件中的listen_addresses属性为"*"并打开注释

6、通过service postgresql start启动服务

service postgresql start

7、通过netstat -nat来查看端口号0.0.0.0:5432是否已经监听,如果这里是127.0.0.1:5432则代表只监听本地,不能远程登陆

[root@izbp18r9ee0upuclbjiv6gz ~]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:32000         0.0.0.0:*               LISTEN     
tcp        0      0 172.19.54.89:22         113.218.44.156:43911    ESTABLISHED
tcp        0      0 172.19.54.89:53078      203.119.214.116:443     TIME_WAIT  
tcp        0      0 127.0.0.1:32000         127.0.0.1:31000         ESTABLISHED
tcp        0      0 172.19.54.89:38496      100.100.30.25:80        ESTABLISHED
tcp        0      0 172.19.54.89:22         113.218.44.156:43910    ESTABLISHED
tcp        0      0 172.19.54.89:22         117.136.89.171:20605    ESTABLISHED
tcp        0      0 172.19.54.89:22         117.136.89.171:47707    ESTABLISHED
tcp        0     36 172.19.54.89:22         117.136.89.171:47179    ESTABLISHED
tcp        0      0 127.0.0.1:31000         127.0.0.1:32000         ESTABLISHED
tcp6       0      0 :::5432                 :::*                    LISTEN    

9、本地登陆测试输入命令psql -U postgres来使用postgres用户登陆

[root@izbp18r9ee0upuclbjiv6gz ~]# psql -U postgres
psql (9.2.24)
Type "help" for help.

postgres=# \q

10、远程登陆前需要修改密码在在postgresql界面输入\password来修改密码

postgres=# \password
Enter new password: 
Enter it again: 

11、安装postgis用来发布基础地理数据如shp数据,在linux命令行输入yum install postgis自动安装

Installed:
  postgis.x86_64 0:2.0.7-2.el7                                                                                     
  
Complete!

12、登陆postgresql执行sql语句CREATE EXTENSION postgis

13、使用QGIS连接postgresql发布
注意:连接参数service可以不写,database写postgres
发布的shp数据要注意字符编码格式,不能发布GBK编吗格式数据

14、记得添加阿里云防火墙规则把5432端口打开

posted @ 2021-04-13 14:31  刘冬冬的博客  阅读(1035)  评论(1编辑  收藏  举报