为PostgreSQL配置pgAdmin管理模块

举报
寒六先生 发表于 2020/10/28 16:05:31 2020/10/28
【摘要】 今天尝试给自己自建的pgSQL配置一个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的页面,就可以愉快的玩耍了:

image.png


    本文完结。




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。