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端口打開


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM