为PostgreSQL配置pgAdmin管理模块
0. 前序:
今天尝试给自己自建的pgSQL配置一个pgAdmin管理模块,发现官网手册的一堆问题;
故整理安装部署过程中的一些问题,以备后查!
参考pgAdmin官网文档,原文档链接如下:
https://www.pgadmin.org/download/pgadmin-4-rpm/
1. 下载及安装
OS环境:CentOS 7
安装方式:测试了一下postgre官方下载速度,还可以。故本文采用yum方式安装;
1.1. 安装pgAdmin repo包:
rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-fedora-repo-1-1.noarch.rpm
安装完成后,会在/etc/yum.repos.d/目录下,生成一个pgadmin4.repo文件,确认此文件存在即可。
1.2. 安装pgadmin:
pgAdmin有三种安装方式,分别是桌面版、web版,还有两种一起安装的,安装命令参考如下:
# Install for both desktop and web modes.
sudo yum install pgadmin4
# Install for desktop mode only.
sudo yum install pgadmin4-desktop
# Install for web mode only.
sudo yum install pgadmin4-web
我只安装了web版,以后打算就通过web方式管理pgsql服务器,故运行以下命令执行安装:
[root@hadoop ~]# yum -y install pgadmin4-web
此处需注意,pgadmin是基于python3的(CentOS7默认是python2.7版本),在安装pgadmin4-web的过程中,会安装其依赖的python36版本,如果觉得官方软件源安装太慢,建议先行修改本地系统的yum源,包括【base源、epel源】;
可以使用华为的软件源,网址参见:https://mirrors.huaweicloud.com
2. 初始化pgAdmin环境
问题从这里开始,官方给的初始化配置命令是:
sudo /usr/pgadmin4/bin/setup-web.sh
执行后各种报错:安装pgadmin时,报错各种依赖包缺失,错误信息如下:
[root@hadoop ~]# /usr/pgadmin4/bin/pgadmin4-web-setup.sh
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/pgadmin4-web/setup.py", line 31, in <module>
from pgadmin import create_app
File "/usr/lib/python3.6/site-packages/pgadmin4-web/pgadmin/__init__.py", line 21, in <module>
from flask_babelex import Babel, gettext
ModuleNotFoundError: No module named 'flask_babelex'
Error setting up server mode. Please examine the output above.
#还有其它一些依赖包,不一一列举。
提示系统缺少flask_babelex模块。
当然,其实并不只缺少上面提示的这一个模块,还有其它几个,错误信息就不一一罗列;
安装需要的依赖包:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple flask_babelex
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple alembic
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple ldap3
再次初始化服务(完成初始后,会启动apache服务):
[root@hadoop ~]# /usr/pgadmin4/bin/pgadmin4-web-setup.sh
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
# 注:此处输入的信息,是初始化完成后的登录信息:
Email address: yangzb@shlongtian.com
Password:
Retype password:
pgAdmin 4 - Application Initialisation
======================================
setsebool: SELinux is disabled.
setsebool: SELinux is disabled.
We can now configure the Apache Web server for you. This will create the pgAdmin4 conf file under /etc/httpd/conf.d/. Do you wish to continue?
1) Yes
2) No
#? 1
pgAdmin4 Apache config file is created as /etc/httpd/conf.d/pgadmin4.conf
Apache web server is not running. We can start the web server for you to finish pgAdmin4 installation. Would you like to continue?
1) Yes
2) No
#? 1
Apache successfully started. You can now start using pgAdmin4 in web mode
[root@hadoop ~]#
注:初始化完成后,系统会配置好Apache服务,并启动web的80端口;
打开浏览器能看到Apache的经典首页。。。
3. 启动pgAdmin
这一节,官文也没有交待清楚,自己摸索了好久。。。
前面yum安装pgAdmin完成后,软件包是被安装在了/usr/lib/python3.6/site-packages/pgadmin4-web/路径下;
注:其中python3.6及各个库,是安装pgAdmin时,依赖安装自EPEL的;
执行以下命令测试pgAdmin启动:
python3 /usr/lib/python3.6/site-packages/pgadmin4-web/pgAdmin4.py
路径太长,每次启动服务时太麻烦,做个软链接吧:
ln -s /usr/lib/python3.6/site-packages/pgadmin4-web /usr/pgadmin4/web
默认启动后,是监听在127.0.0.1地址上,只能本机访问;
配置以下配置文件,使其可以对外提供服务:
# 修改配置文件(如果没有config_local.py,就新创建一个)
cd /usr/pgadmin4
vi web/config_local.py
from config import *
DEFAULT_SERVER = '0.0.0.0'
DEFAULT_SERVER_PORT = 5050
配置完成
再次启动服务,并放到后台启动:
Starting pgAdmin 4. Please navigate to http://0.0.0.0:5050 in your browser.
4. 登录测试
打开浏览器,输入:http://ip_address:5050,能正常打开pgAdmin的页面,就可以愉快的玩耍了:
本文完结。
- 点赞
- 收藏
- 关注作者
评论(0)