PostgreSQL是流行的功能強大且開源的對象關系數據庫系統,具有15多年的積極開發經驗並在可靠性方面享有盛譽。pgAdmin是領先的開源功能豐富的PostgreSQL管理和開發平台,可在Linux,Unix,Mac OS X和Windows上運行。本教程將向您展示如何在CentOS 8 Linux上安裝pgAdmin 4。
pgAdmin 4的功能
pgAdmin 4的功能包括:
- 自動檢測並支持在運行時發現的對象
- 具有直接數據編輯功能的實時SQL查詢工具
- 支持管理查詢
- 語法突出顯示的SQL編輯器
- 重新設計的圖形界面
- 強大的管理對話框和常用任務工具
- 響應式,上下文相關的行為
- 支持性錯誤消息
- 有幫助的提示
- 在線幫助以及有關使用pgAdmin對話框和工具的信息。
步驟1:啟用EPEL儲存庫
使用下面的指南添加EPEL存儲庫。
在RHEL 8 / CentOS 8系統上啟用EPEL存儲庫的簡單方法
不要忘記啟用PowerTools存儲庫,因為它包含我們需要的軟件包。
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf config-manager --set-enabled PowerTools
步驟2:安裝PostgreSQL數據庫服務器
首先必須先在系統上安裝PostgreSQL,然后才能安裝pgAdmin4。
可以安裝PostgreSQL 13、PostgreSQL 12、PostgreSQL 11,具體可以參考相關教程。
步驟3:在CentOS 8上安裝pgAdmin4
在安裝PostgreSQL之后,您可以在CentOS 8上開始pgAdmin 4的安裝。您需要添加PostgreSQL RPM存儲庫,這應該在安裝PostgreSQL時完成。
sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
然后安裝pgAdmin軟件包:
sudo dnf -qy module disable postgresql sudo dnf install pgadmin4
按下“ y ”鍵接受安裝提示。
Dependencies resolved.
==================================================================================================================================================================
Package Architecture Version Repository Size
==================================================================================================================================================================
Installing:
pgadmin4 x86_64 4.27-1.rhel8 pgdg-common 17 k
Installing dependencies:
apr x86_64 1.6.3-9.el8 AppStream 125 k
apr-util x86_64 1.6.1-6.el8 AppStream 105 k
centos-logos-httpd noarch 80.5-2.el8 BaseOS 24 k
httpd x86_64 2.4.37-21.module_el8.2.0+494+1df74eae AppStream 1.7 M
httpd-filesystem noarch 2.4.37-21.module_el8.2.0+494+1df74eae AppStream 36 k
httpd-tools x86_64 2.4.37-21.module_el8.2.0+494+1df74eae AppStream 103 k
libsodium x86_64 1.0.18-2.el8 epel 162 k
mailcap noarch 2.1.48-3.el8 BaseOS 39 k
mod_http2 x86_64 1.11.3-3.module_el8.2.0+486+c01050f0.1 AppStream 156 k
pgadmin4-docs noarch 4.27-1.rhel8 pgdg-common 48 M
pgadmin4-python3-Flask-Mail noarch 0.9.1-4.rhel8.1 pgdg-common 24 k
pgadmin4-python3-alembic noarch 0.9.7-4.rhel8 pgdg-common 268 k
pgadmin4-python3-dateutil noarch 1:2.8.0-1.rhel8 pgdg-common 290 k
pgadmin4-python3-flask noarch 1:1.0.2-1.rhel8 pgdg-common 153 k
pgadmin4-python3-flask-babelex noarch 0.9.3-1.rhel8.1 pgdg-common 23 k
pgadmin4-python3-flask-compress noarch 1.4.0-1.rhel8 pgdg-common 15 k
pgadmin4-python3-flask-gravatar noarch 0.5.0-1.rhel8.1 pgdg-common 17 k
pgadmin4-python3-flask-login noarch 0.4.1-1.rhel8 pgdg-common 34 k
pgadmin4-python3-flask-migrate noarch 2.4.0-1.rhel8 pgdg-common 28 k
pgadmin4-python3-flask-paranoid noarch 0.2-1.rhel8.1 pgdg-common 15 k
pgadmin4-python3-flask-principal noarch 0.4.0-14.rhel8.1 pgdg-common 20 k
pgadmin4-python3-flask-security-too noarch 3.3.3-1.rhel8 pgdg-common 144 k
pgadmin4-python3-flask-sqlalchemy noarch 2.3.2-1.rhel8.1 pgdg-common 109 k
pgadmin4-python3-flask-wtf noarch 0.14.2-1.rhel8.1 pgdg-common 59 k
pgadmin4-python3-paramiko noarch 2.6.0-3.rhel8 pgdg-common 288 k
pgadmin4-python3-passlib noarch 1.7.2-1.rhel8 pgdg-common 757 k
pgadmin4-python3-psutil x86_64 5.7.0-1.rhel8 pgdg-common 396 k
pgadmin4-python3-simplejson x86_64 3.16.0-1.rhel8 pgdg-common 278 k
pgadmin4-python3-six noarch 1.12.0-3.rhel8 pgdg-common 35 k
pgadmin4-python3-speaklater noarch 1.3-3.rhel8.1 pgdg-common 15 k
pgadmin4-python3-sqlalchemy x86_64 1.2.18-1.rhel8 pgdg-common 3.9 M
pgadmin4-python3-sqlparse noarch 0.3.0-1.rhel8 pgdg-common 81 k
pgadmin4-python3-sshtunnel noarch 0.1.4-1.rhel8 pgdg-common 45 k
pgadmin4-python3-werkzeug noarch 0.15.4-1.rhel8 pgdg-common 464 k
pgadmin4-python3-wtforms noarch 2.2.1-1.rhel8 pgdg-common 184 k
pgadmin4-pytz noarch 2020.1-1.rhel8 pgdg-common 54 k
pgadmin4-web noarch 4.27-1.rhel8 pgdg-common 6.3 M
policycoreutils-python-utils noarch 2.9-9.el8 BaseOS 251 k
python3-bcrypt x86_64 3.1.6-2.el8.1 epel 44 k
python3-blinker noarch 1.4-4.el8 epel 114 k
python3-click noarch 6.7-8.el8 AppStream 131 k
python3-flask noarch 1:0.12.2-4.el8 AppStream 141 k
python3-itsdangerous noarch 0.24-14.el8 AppStream 31 k
python3-ldap3 noarch 2.8.1-2.el8 epel 535 k
python3-mako noarch 1.0.6-13.el8 AppStream 157 k
python3-mod_wsgi x86_64 4.6.4-4.el8 AppStream 2.5 M
python3-psycopg2 x86_64 2.8.6-1.rhel8 pgdg-common 178 k
python3-pyasn1 noarch 0.3.7-6.el8 AppStream 126 k
python3-pynacl x86_64 1.3.0-5.el8 epel 100 k
python3-werkzeug noarch 0.12.2-4.el8 AppStream 457 k
Installing weak dependencies:
apr-util-bdb x86_64 1.6.1-6.el8 AppStream 25 k
apr-util-openssl x86_64 1.6.1-6.el8 AppStream 27 k
Enabling module streams:
httpd 2.4
Transaction Summary
==================================================================================================================================================================
Install 53 Packages
Total download size: 69 M
Installed size: 154 M
Is this ok [y/N]: y
在詢問時導入GPG:
Total 26 MB/s | 69 MB 00:02
warning: /var/cache/dnf/epel-6519ee669354a484/packages/libsodium-1.0.18-2.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x2F86D6A1:
Userid : "Fedora EPEL (8) <epel@fedoraproject.org>"
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Is this ok [y/N]: y
步驟4:在CentOS 8上配置pgAdmin 4
現在我們已經安裝了pgAdmin 4,讓我們對其進行配置。
1.
啟動並啟用httpd服務以在啟動時啟動:
sudo systemctl start httpd && sudo systemctl enable httpd
您可以通過運行以下命令確認服務狀態:
$ systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-01-15 12:59:34 EAT; 6s ago Docs: man:httpd.service(8) Main PID: 3310 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 11512) Memory: 36.6M CGroup: /system.slice/httpd.service ├─3310 /usr/sbin/httpd -DFOREGROUND ├─3311 /usr/sbin/httpd -DFOREGROUND ├─3312 /usr/sbin/httpd -DFOREGROUND ├─3313 /usr/sbin/httpd -DFOREGROUND └─3314 /usr/sbin/httpd -DFOREGROUND Jan 15 12:59:34 cent8.novalocal systemd[1]: Starting The Apache HTTP Server… Jan 15 12:59:34 cent8.novalocal httpd[3310]: Server configured, listening on: port 80 Jan 15 12:59:34 cent8.novalocal systemd[1]: Started The Apache HTTP Server.
2.
重命名pgAdmin Apache配置示例:
sudo cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf
確認配置語法以防止任何錯誤,然后重新啟動httpd服務。
$ sudo httpd -t
Syntax OK
$ sudo systemctl restart httpd
4.
創建pgAdmin數據目錄:
sudo mkdir -p /var/lib/pgadmin4/ /var/log/pgadmin4/
5.
編輯config_local.py
並添加以下設置。在大多數情況下,默認文件位置應是:
sudo vi /usr/lib/python3.6/site-packages/pgadmin4-web/config_distro.py
添加以下內容:
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
6.
運行以下命令以創建配置數據庫:
sudo dnf -y install python3-bcrypt python3-pynacl sudo python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py
這將要求您輸入email address
和 password
用於初始pgAdmin用戶帳戶。
Email address: admin@example.com Password: <INPUT PASSWORD> Retype password:<Confirm PASSWORD> pgAdmin 4 - Application Initialisation ======================================
為apache
用戶設置pgAdmin目錄的權限:
sudo chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4
步驟5:配置SELinux
為apache
用戶設置pgAdmin目錄的權限:
sudo chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4
如果您以強制模式運行SELinux,請創建並應用策略以允許Apache用戶訪問pgAdmin目錄:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/pgadmin4(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/pgadmin4(/.*)?"
sudo restorecon -Rv /var/lib/pgadmin4/
sudo restorecon -Rv /var/log/pgadmin4/
重新啟動httpd服務。
sudo systemctl restart httpd
步驟5:訪問pgAdmin 4 Web界面
如果您有活動的防火牆服務,請允許http端口:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload
打開以使用上面創建的憑據登錄pgAdmin,登錄地址為 http://servername_or_ip/pgadmin4
在pgAdmin的第一頁上,通過單擊“添加新服務器”來添加PostgreSQL服務器以使用pgAdmin進行管理。這可以是本地或遠程PostgreSQL服務器。
在“常規” 部分下,為服務器命名和描述。
在“連接” 選項卡下,提供訪問詳細信息–數據庫主機,數據庫用戶和密碼。
最后完成后,單擊“ 保存” 按鈕以保存配置。如果成功添加服務器,該名稱將出現在左側邊欄中。選擇服務器以查看數據庫摘要信息並進行更改。
以上就是CentOS 8系統安裝pgAdmin 4詳細教程,希望文章對在CentOS 8上安裝pgAdmin 4的朋友有所幫助。