Postgresql10離線安裝


1、在很多時候,服務器不能聯網,需要離線安裝,下面是Postgresql10離線安裝的步驟:

首先進入官網:https://www.postgresql.org,然后找到Download下載

然后選擇自己的服務器系統,操作系統,如下所示:

然后,選擇自己的版本,如下所示:

 

2、在能聯網的機器上下載yum源,如下所示:

 1 [root@slaver1 ~]# sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
 2 已加載插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
 3 
 4 This system is not registered with an entitlement server. You can use subscription-manager to register.
 5 
 6 pgdg-redhat-repo-latest.noarch.rpm                                                                                                | 6.8 kB  00:00:00     
 7 正在檢查 /var/tmp/yum-root-pJEQZx/pgdg-redhat-repo-latest.noarch.rpm: pgdg-redhat-repo-42.0-14.noarch
 8 /var/tmp/yum-root-pJEQZx/pgdg-redhat-repo-latest.noarch.rpm 將被安裝
 9 正在解決依賴關系
10 --> 正在檢查事務
11 ---> 軟件包 pgdg-redhat-repo.noarch.0.42.0-14 將被 安裝
12 --> 解決依賴關系完成
13 Altinity_clickhouse/x86_64/signature                                                                                              |  833 B  00:00:00     
14 Altinity_clickhouse/x86_64/signature                                                                                              | 1.0 kB  00:00:00 !!! 
15 Altinity_clickhouse-source/signature                                                                                              |  833 B  00:00:00     
16 Altinity_clickhouse-source/signature                                                                                              | 1.0 kB  00:00:00 !!! 
17 base/7/x86_64                                                                                                                     | 3.6 kB  00:00:00     
18 elrepo                                                                                                                            | 3.0 kB  00:00:00     
19 extras/7/x86_64                                                                                                                   | 2.9 kB  00:00:00     
20 updates/7/x86_64                                                                                                                  | 2.9 kB  00:00:00     
21 updates/7/x86_64/primary_db                                                                                                       | 5.7 MB  00:00:09     
22 
23 依賴關系解決
24 
25 =========================================================================================================================================================
26  Package                              架構                       版本                          源                                                   大小
27 =========================================================================================================================================================
28 正在安裝:
29  pgdg-redhat-repo                     noarch                     42.0-14                       /pgdg-redhat-repo-latest.noarch                      11 k
30 
31 事務概要
32 =========================================================================================================================================================
33 安裝  1 軟件包
34 
35 總計:11 k
36 安裝大小:11 k
37 Downloading packages:
38 Running transaction check
39 Running transaction test
40 Transaction test succeeded
41 Running transaction
42   正在安裝    : pgdg-redhat-repo-42.0-14.noarch                                                                                                      1/1 
43   驗證中      : pgdg-redhat-repo-42.0-14.noarch                                                                                                      1/1 
44 
45 已安裝:
46   pgdg-redhat-repo.noarch 0:42.0-14                                                                                                                      
47 
48 完畢!
49 [root@slaver1 ~]# 

開始下載postgresql軟件,如下所示:

1 [root@slaver1 yum-root-pJEQZx]# yum search postgres

創建psql10目錄,如下所示:

1 [root@slaver1 local]# mkdir /root/psql10
2 [root@slaver1 local]# cd /root/psql10/
3 [root@slaver1 psql10]# ll
4 總用量 0
5 [root@slaver1 psql10]# 

安裝依賴,如下所示:

 1 [root@slaver1 psql10]# yum install --downloadonly --downloaddir=psql10 libicu postgresql10-libs
 2 已加載插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
 3 
 4 This system is not registered with an entitlement server. You can use subscription-manager to register.
 5 
 6 Loading mirror speeds from cached hostfile
 7  * base: mirrors.huaweicloud.com
 8  * elrepo: mirrors.tuna.tsinghua.edu.cn
 9  * extras: mirrors.huaweicloud.com
10  * updates: mirrors.bfsu.edu.cn
11 Altinity_clickhouse/x86_64/signature                                                                                              |  833 B  00:00:00     
12 Altinity_clickhouse/x86_64/signature                                                                                              | 1.0 kB  00:00:00 !!! 
13 Altinity_clickhouse-source/signature                                                                                              |  833 B  00:00:00     
14 Altinity_clickhouse-source/signature                                                                                              | 1.0 kB  00:00:00 !!! 
15 軟件包 libicu-50.2-4.el7_7.x86_64 已安裝並且是最新版本
16 正在解決依賴關系
17 --> 正在檢查事務
18 ---> 軟件包 postgresql10-libs.x86_64.0.10.16-1PGDG.rhel7 將被 安裝
19 --> 解決依賴關系完成
20 
21 依賴關系解決
22 
23 =========================================================================================================================================================
24  Package                                   架構                           版本                                      源                              大小
25 =========================================================================================================================================================
26 正在安裝:
27  postgresql10-libs                         x86_64                         10.16-1PGDG.rhel7                         pgdg10                         358 k
28 
29 事務概要
30 =========================================================================================================================================================
31 安裝  1 軟件包
32 
33 總下載量:358 k
34 安裝大小:1.3 M
35 Background downloading packages, then exiting:
36 警告:/root/psql10/psql10/postgresql10-libs-10.16-1PGDG.rhel7.x86_64.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID 442df0f8: NOKEY17 kB/s | 336 kB  00:00:01 ETA 
37 postgresql10-libs-10.16-1PGDG.rhel7.x86_64.rpm 的公鑰尚未安裝
38 postgresql10-libs-10.16-1PGDG.rhel7.x86_64.rpm                                                                                    | 358 kB  00:00:17     
39 exiting because "Download Only" specified
40 [root@slaver1 psql10]# 
41 [root@slaver1 psql10]# 

安裝軟件包,如下所示:

 1 [root@slaver1 psql10]# yum install --downloadonly --downloaddir=psql10 postgresql10 postgresql10-server
 2 已加載插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
 3 
 4 This system is not registered with an entitlement server. You can use subscription-manager to register.
 5 
 6 Loading mirror speeds from cached hostfile
 7  * base: mirrors.huaweicloud.com
 8  * elrepo: mirrors.tuna.tsinghua.edu.cn
 9  * extras: mirrors.huaweicloud.com
10  * updates: mirrors.bfsu.edu.cn
11 正在解決依賴關系
12 --> 正在檢查事務
13 ---> 軟件包 postgresql10.x86_64.0.10.16-1PGDG.rhel7 將被 安裝
14 --> 正在處理依賴關系 postgresql10-libs(x86-64) = 10.16-1PGDG.rhel7,它被軟件包 postgresql10-10.16-1PGDG.rhel7.x86_64 需要
15 --> 正在處理依賴關系 libpq.so.5()(64bit),它被軟件包 postgresql10-10.16-1PGDG.rhel7.x86_64 需要
16 ---> 軟件包 postgresql10-server.x86_64.0.10.16-1PGDG.rhel7 將被 安裝
17 --> 正在檢查事務
18 ---> 軟件包 postgresql10-libs.x86_64.0.10.16-1PGDG.rhel7 將被 安裝
19 --> 解決依賴關系完成
20 
21 依賴關系解決
22 
23 =========================================================================================================================================================
24  Package                                    架構                          版本                                       源                             大小
25 =========================================================================================================================================================
26 正在安裝:
27  postgresql10                               x86_64                        10.16-1PGDG.rhel7                          pgdg10                        1.6 M
28  postgresql10-server                        x86_64                        10.16-1PGDG.rhel7                          pgdg10                        4.5 M
29 為依賴而安裝:
30  postgresql10-libs                          x86_64                        10.16-1PGDG.rhel7                          pgdg10                        358 k
31 
32 事務概要
33 =========================================================================================================================================================
34 安裝  2 軟件包 (+1 依賴軟件包)
35 
36 總計:6.5 M
37 總下載量:6.2 M
38 安裝大小:28 M
39 Background downloading packages, then exiting:
40 警告:/root/psql10/psql10/postgresql10-10.16-1PGDG.rhel7.x86_64.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID 442df0f8: NOKEY  ]  58 kB/s | 2.5 MB  00:01:05 ETA 
41 postgresql10-10.16-1PGDG.rhel7.x86_64.rpm 的公鑰尚未安裝
42 (1/2): postgresql10-10.16-1PGDG.rhel7.x86_64.rpm                                                                                  | 1.6 MB  00:00:44     
43 (2/2): postgresql10-server-10.16-1PGDG.rhel7.x86_64.rpm                                                                           | 4.5 MB  00:03:07     
44 ---------------------------------------------------------------------------------------------------------------------------------------------------------
45 總計                                                                                                                      34 kB/s | 6.2 MB  00:03:07     
46 exiting because "Download Only" specified
47 [root@slaver1 psql10]# 

至此,你已經拿到了這三個安裝包,打包下載,然后上傳到自己的服務器,如下所示:

1 [root@slaver1 psql10]# ll
2 總用量 6668
3 -rw-r--r-- 1 root root 1685364 2月  11 08:36 postgresql10-10.16-1PGDG.rhel7.x86_64.rpm
4 -rw-r--r-- 1 root root  366440 2月  11 08:36 postgresql10-libs-10.16-1PGDG.rhel7.x86_64.rpm
5 -rw-r--r-- 1 root root 4769224 2月  11 08:36 postgresql10-server-10.16-1PGDG.rhel7.x86_64.rpm
6 [root@slaver1 psql10]# 

 

3、如果,你有這三個安裝包,可以直接上傳到服務器,忽略上面的步驟,開始進行安裝,開始進行離線安裝,如下所示:

1 [root@slaver1 psql10]# rpm -ivh postgresql10-*
2 警告:postgresql10-10.16-1PGDG.rhel7.x86_64.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID 442df0f8: NOKEY
3 准備中...                          ################################# [100%]
4 正在升級/安裝...
5    1:postgresql10-libs-10.16-1PGDG.rhe################################# [ 33%]
6    2:postgresql10-10.16-1PGDG.rhel7   ################################# [ 67%]
7    3:postgresql10-server-10.16-1PGDG.r################################# [100%]
8 [root@slaver1 psql10]# 

初始化數據,啟動服務,如下所示:

1 [root@slaver1 psql10]# 
2 [root@slaver1 psql10]# /usr/pgsql-10/bin/postgresql-10-setup initdb
3 Initializing database ... OK
4 
5 [root@slaver1 psql10]# 

執行postgresql開機自啟動,啟動postgresql,如下所示:

1 [root@slaver1 psql10]# 
2 [root@slaver1 psql10]# systemctl enable postgresql-10
3 Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-10.service to /usr/lib/systemd/system/postgresql-10.service.
4 [root@slaver1 psql10]# systemctl start postgresql-10
5 [root@slaver1 psql10]# 
6 [root@slaver1 psql10]# 
7 [root@slaver1 psql10]# 

連接postgresql,如下所示:

1 [root@slaver1 psql10]# su - postgres
2 -bash-4.2$ psql
3 psql (10.16)
4 輸入 "help" 來獲取幫助信息.
5 
6 postgres=# \q
7 -bash-4.2$ exit
8 登出
9 [root@slaver1 psql10]# 

可以查看數據庫,如下所示:

 1 [root@slaver1 psql10]# su - postgres
 2 上一次登錄:日 3月  7 22:42:23 CST 2021pts/1 3 \-bash-4.2$ \
 4 > psql
 5 psql (10.16)
 6 輸入 "help" 來獲取幫助信息.
 7 
 8 postgres=# 
 9 postgres=# \l
10                                      數據庫列表
11    名稱    |  擁有者  | 字元編碼 |  校對規則   |    Ctype    |       存取權限        
12 -----------+----------+----------+-------------+-------------+-----------------------
13  postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
14  template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
15            |          |          |             |             | postgres=CTc/postgres
16  template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
17            |          |          |             |             | postgres=CTc/postgres
18 (3 行記錄)
19 
20 postgres=# 

修改postgresql的postgres賬號的密碼,自己一定要記住這個密碼,如下所示:

1 postgres=# 
2 postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
3 ALTER ROLE
4 postgres=# \q
5 -bash-4.2$ exit
6 登出
7 [root@slaver1 psql10]# 

執行\q就可以退出命令行了。

 

4、創建新用戶來訪問PostgreSQL。

1)、如上所述,先切換到Linux用戶postgres,並執行psql:

1 [root@slaver1 psql10]# su - postgres
2 上一次登錄:日 3月  7 22:43:18 CST 2021pts/13 -bash-4.2$ psql
4 psql (10.16)
5 輸入 "help" 來獲取幫助信息.
6 
7 postgres=# 
8 postgres=# 
9 postgres=# 

現在位於數據庫提示符下。

2)、創建數據庫新用戶,如postsql :

1 postgres=# 
2 postgres=# CREATE USER postsql WITH PASSWORD '123456';
3 CREATE ROLE
4 postgres=#

注意:語句要以分號結尾,密碼要用單引號括起來。

3)、創建用戶數據庫,如postsql:

1 postgres=# CREATE DATABASE postsql OWNER postsql;
2 CREATE DATABASE
3 postgres=# 

4)、將postsql數據庫的所有權限都賦予postsql,並查看用戶的角色,如下所示:

 1 postgres=# GRANT ALL PRIVILEGES ON DATABASE postsql TO postsql;
 2 GRANT
 3 postgres=# \du
 4                              角色列表
 5  角色名稱 |                    屬性                    | 成員屬於 
 6 ----------+--------------------------------------------+----------
 7  postgres | 超級用戶, 建立角色, 建立 DB, 復制, 繞過RLS | {}
 8  postsql  |                                            | {}
 9 
10 postgres=# 

5)、使用命令 \q 退出psql:

1 postgres=# 
2 postgres=# \q
3 -bash-4.2$ exit
4 登出
5 [root@slaver1 psql10]# 

 

5、Postgresql 10版本,需要注意,安裝完成的數據庫,是不能遠程訪問的,要做一些權限設置:

首先,需要查找文件postgresql.conf,如下所示:

1 [root@slaver1 psql10]# 
2 [root@slaver1 psql10]# find / -name "postgresql.conf"
3 /var/lib/pgsql/10/data/postgresql.conf
4 [root@slaver1 psql10]# vim /var/lib/pgsql/10/data/postgresql.conf
5 [root@slaver1 psql10]# 

修改配置,listen_addresses項值設定為'*',在所有IP地址上監聽,從而允許遠程連接到數據庫服務器,如下所示:

 查找文件pg_hba.conf,如下所示:

1 [root@slaver1 psql10]# 
2 [root@slaver1 psql10]# find / -name "pg_hba.conf"
3 /var/lib/pgsql/10/data/pg_hba.conf
4 [root@slaver1 psql10]# 
5 [root@slaver1 psql10]# 
6 [root@slaver1 psql10]# vim /var/lib/pgsql/10/data/pg_hba.conf
7 [root@slaver1 psql10]# 

修改文件,在# IPv4 local connections: 行下,添加以下內容:

1 第一行,此處解釋:192.168.110.0/24。意思為允許192.168.110段內的ip連接。
2 host    all             all             192.168.110.0/24        md5
3 第二行,此處解釋:允許任意用戶從任意機器上以密碼方式訪問數據庫。
4 host    all             all             0.0.0.0/0               md5

具體,如下所示:

最后,重啟postgresql10,如下所示:

1 [root@slaver1 psql10]# 
2 [root@slaver1 psql10]# systemctl restart postgresql-10.service 
3 [root@slaver1 psql10]# 

此時,就可以遠程使用Navicat連接此postgresql數據庫了。


免責聲明!

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



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