-
2021-05-16 13:38:04
简介
pgAdmin4 是开源数据库 PostgreSQL 的图形管理工具,是桌面版图形管理工具pgAdmin3 的重写,遵循 PostgreSQL协议 是开源、免费、可商用的。pgAdmin4 是python开发的web应用程序,既可以部署为web模式通过浏览器访问,也可以部署为桌面模式独立运行。
以下基于: pgadmin 4.15 + python2.7 + httpd2.4
建议:如果您仅仅是使用pgAdmin4,建议您优先到官网下载安装包进行安装。
1 在Centos7 源码安装pgAdmin4(via pgadmin4.whl)
安装系统依赖包
sudo yum install gcc python-devel -y
安装python应用开发依赖(python/pip/virtualenv)
#使用centos7系统自带的python2.7.5,因此不用安装
#安装python2-pip(安装到了系统python中)
sudo yum -y install epel-release
sudo yum install python2-pip
pip —version
##注意:python3配套的是python3-pip
#安装虚拟环境(安装到了系统python中)
pip install virtualenv
#创建虚拟环境(--no-site-packages 已被弃用)
cd /home/centos7/
virtualenv py2env
#进入虚拟环境
source py2env/bin/activate
#安装依赖模块包
##将pgadmin4/requirements.txt中的psycopg2修改为psycopg2-binary
(py2env) vim ./pgadmin4/requirements.txt
#psycopg2>=2.8
psycopg2-binary>=2.8
(py2env) pip install ./pgadmin4/requirements.txt
注意:
1 pip 安装超时报错:aise ReadTimeoutError(self._pool, None, 'Read timed out.')
可通过更换安装源来解决:pip install -i https://pypi.douban.com/simple
2 virtualenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,不是必须安装的。
python编译运行程序
#创建配置文件和日志文件
(py2env) python ./pgadmin4/web/setup.py
#启动
(py2env) python ./pgadmin4/web/pgAdmin4.py
httpd+mod_wsgi部署pgAdmin4服务
#安装apache httpd
sudo yum install -y httpd httpd-devel
#在虚拟机环境中安装mod_wsgi
(py2env) ./bin/pip install mod_wsgi
#查看安装路径
(py2env) ./bin/mod_wsgi-express install-module
LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/home/centos8/py3env/“
#配置httpd.conf
vim /etc/httpd/conf/httpd.conf
#末尾添加
LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-27m-x86_64-linux-gnu.so"
WSGIPythonHome "/home/centos7/py2env/"
Listen 5050
#ServerName pgadmin.example.com
#LogLevel debug
#ErrorLog ${APACHE_LOG_DIR}/pgadmin-error.log
#CustomLog ${APACHE_LOG_DIR}/pgadmin-access.log combined
#WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/centos7/py2env/
WSGIScriptAlias / /home/centos7/py2env/hgadmin4/web/pgAdmin4.wsgi
WSGIProcessGroup pgadmin
WSGIApplicationGroup %{GLOBAL}
Require all granted
#检查httpd配置文件修改语法正确性
apachectl configtest
修改pgadmin配置文件的用户访问控制权限
注意:默认在非server_mode时以下配置库根目录变为:~/.pgadmin/
#修改配置路径
vim web/config_distro.py
LOG_FILE = '/var/log/pgadmin/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin/sessions'
STORAGE_DIR = '/var/lib/pgadmin/storage’
#修改配置文件和库的所属关系(按照httpd.conf中的用户和组)
chown -R apache:apache /var/lib/pgadmin
chown -R apache:apache /var/log/pgadmin
#如果SeLinux开启了,使用以下命令修改SELinux policy:
chcon -R -t httpd_sys_content_rw_t "/var/log/pgadmin/"
chcon -R -t httpd_sys_content_rw_t "/var/lib/pgadmin/"
#修改selinux安全访问配置
su - root
vim /etc/selinux/config
SELINUX = disabeld #重启生效
setenforce 0 #即时生效
service iptables stop
#重启apache httpd服务(一般在root下启动)
apachectl restart
apachectl status
2. 在 win10 源码安装pgAdmin4(python+httpd必须位数一致)
此处使用 [ python2.7.17_32bit + apache2.4.6_32bit + VCForPython27.msi ]
2.1 安装并配置python和pip
下载python-2.7.17.32.msi,并手动安装到 C:\Python27。(python和pip执行文件位于C:\Python27\Scripts)
#在系统环境变量path中添加:c:\Python27; C:\Python27\Scripts
C:\Users\liuyu>python —version
Python 2.7.17
C:\Users\liuyu>pip -version
pip 19.2.3 from C:\Python27\lib\site-package\pip (python 27)
注意:有时C:\Windows\System32路径需要python27.dll文件,如缺失复制进去即可。
2.2 安装并创建虚拟环境
#安装虚拟环境
C:\>pip install virtualenv
#创建虚拟环境
C:\>virtualenv py2env
#进入虚拟环境
C:\>cd c:\py2env
C:\py2env>Scripts\activate
2.3 安装pgAdmin4依赖
#将pgadmin4源码包拷贝到py2env
git clone https://github.com/postgres/pgadmin4.git pgadmin4
#将pgadmin4依赖模块包安装到虚拟环境
(py2env)C:\py2env>Scripts\pip install -r pgadmin4\requirement.txt
#试运行python程序
(py2env)C:\py2env>Scripts\python.exe pgadmin4\web\setup.py
(py2env)C:\py2env>Scripts\python.exe pgadmin4\web\pgAdmin4.py
Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.
* Serving Flask app "pgadmin" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
注意:如配置完启动httpd时报错在c:/Windows/System32/找不到python27.dll,可以通过以下方式解决:上网下载python27.dll并放到C:/Windows/System32/;
2.4 安装apache httpd
手动安装或者解压apache2.4到C:\apache2.4
2.5 安装mod_wsgi
安装mod_wsgi依赖的编译器VCForPython27.mis
下载VCForPython27.mis(mod_wsgi的gcc编译器)到本地系统,使用手动安装或者命令行静模安装到默认路径即可。其中,命令行如下:
msiexec /i VCForPython27.msi /qb REBOOT=SUPPRESS
安装mod_wsgi
#设置临时环境变量
(py2env) c:\py2env>set “MOD_WSGI_APACHE_ROOTDIR=C:\apache2.4”
#在虚拟环境中安装mod_wsgi
(py2env) c:\py2env>Scripts\pip.exe install mod_wsgi
Collecting mod_wsgi
Using cached https://files.pythonhosted.org/packages/25/d8/1df4ba9c051cd88e02971814f0867274a8ac821baf983b6778dacd6e31f7/mod_wsgi-4.6.8.tar.gz
Building wheels for collected packages: mod-wsgi
Building wheel for mod-wsgi (setup.py) ... done
Created wheel for mod-wsgi: filename=mod_wsgi-4.6.8-cp27-cp27m-win_amd64.whl size=365468 sha256=74afcaa578aa17be65bc3b19b63419b76f3617992a22ee8c49edaafb7470053b
Stored in directory: C:\Users\liuyu\AppData\Local\pip\Cache\wheels\14\20\6d\6302d26b9f3a8d84eb8a06e2c418cf807700e3550ded230f8a
Successfully built mod-wsgi
Installing collected packages: mod-wsgi
Successfully installed mod-wsgi-4.6.8
#查看mod_wsgi安装配置情况
(py2env) c:\py2env>Scripts\mod_wsgi-express.exe --help
Usage: mod_wsgi-express command [params]
Commands:
module-config
module-location
(py2env) c:\py2env>Scripts\mod_wsgi-express.exe module-config
LoadModule wsgi_module "c:/py2env/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"
WSGIPythonHome "c:/py2env”
2.6 将pgAdmin4.wsgi配置到httpd.conf
在C:\apache2.4\conf\httpd.conf 末尾加入(或者配置在单独的pgamin4.conf文件)以下内容:
#config pgadmin4
LoadModule wsgi_module “C:/py2env/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"
WSGIPythonHome “C:/py2env"
ServerName pgadmin4.highgo.com
WSGIScriptAlias / C:\py2env\pgadmin4\web\pgAdmin4.wsgi
# Order deny,allow
# Allow from all
Require all granted
2.7 启动httpd服务
#双击或者命令行启动httpd.exe
C:\apache2.4\bin>httpd.exe
(如正确则不返回任何信息,报错则返回甚至退出)
2.8 访问pgAdmin4网页
参考
更多相关内容 -
pgAdmin4:在Python中准备好pgAdmin4。 只需在您的UbuntuDebian上克隆存储库,然后开始使用pgAdmin4
2021-02-13 22:55:13pgAdmin4 Python pgAdmin4是用于世界上最流行的关系数据库管理系统PostgreSQl的GUI应用程序。用法pgAdmin4需要一些开发依赖项,通过在ubuntu上键入$ sudo apt install pyton3-dev来安装它们。 克隆仓库: $ git ... -
pgadmin4_installer:在任何计算机上安装pgAdmin4的步骤
2021-04-29 05:13:36pgadmin4_installer 在任何计算机上安装pgAdmin4的步骤 确保您已安装python3和python2.7 。 否则,请安装然后运行: sudo apt-get install python3 python2.7 检查~/.local/bin是否在$PATH环境变量中,否则,在... -
centos7-pgadmin4源码搭建.doc
2021-09-26 18:32:54基于centos7的pgadmin4搭建教程 -
pgadmin4-4.28-x64
2020-11-19 11:01:57The pgAdmin Development Team are pleased to announce pgAdmin 4 version 4.28. This release of pgAdmin 4 includes 19 bug fixes and new features. For more details please see the release notes. Notable ... -
pgadmin4-6.5-x64.exe
2022-03-10 17:08:57windows下的安装包,pgAdmin 是一个非常流行、功能强大并且开源的 PostgreSQL 管理与开发平台。pgAdmin 支持 Linux、Unix、Mac OS X 以及 Windows 操作系统,可以管理 PostgreSQL 9.2 以及更高版本。 -
pgadmin4-4.17 for windows
2020-01-10 00:05:16PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性 -
pgadmin4-4.23-x64.exe
2020-07-14 17:22:13pgadmin4-4.23-x64.exe,我用来当做greenplum的客户端使用,希望对读者有用, -
pgadmin4-4.19-x86(官方版)
2020-05-05 14:04:38PostgreSQL数据库专用管理工具。pgAdmin 4中文版功能强悍,便捷好用,支持将这类数据库中数据变成图形化的操作界面,使得数据库管理人员可以直观、高效的管理数据库,随时调用数据,方便实用。 -
pgadmin4-4.20-x86.exe
2020-04-26 19:16:58pgAdmin 4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件, 它允许您连接到特定的数据库,创建表和运行各种从简单到复杂的SQL语句。 它支持的操作系统包括Linux,Windows,Mac OS X。 这里使用的pgAdmin... -
pgadmin4-4.6-x86.exe
2019-05-09 23:10:14pgadmin4-4.6-x86.exe 客户端 web页面执行 比pgAdmin3好用 -
pgadmin4-4.29-x86.exe
2022-01-17 17:38:38pgadmin4-4.29-x86(官网)32位下载 -
pgadmin4-4.16-x86.exe
2019-12-18 12:48:01pgAdmin 最新版客户端工具2019.12! ! -
pgadmin4-2.1-x86.exe
2018-05-10 10:20:02客户端连接postgres,管理 Postgres 数据库用的通用工具。 -
pgadmin4-5.6-x64.exe
2021-08-19 16:59:34PostgreSQL UI管理器,官方维护。 -
pgadmin4管理工具
2018-12-10 13:12:24pgadmin4 -
pgadmin4-4.19-x86.7z
2020-03-17 01:04:36pgAdmin 4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件,连接到特定的数据库,创建表和运行各种从简单到复杂的SQL语句。支持的操作系统包括Linux,Windows,Mac OS X。 -
pgAdmin4Python:КонфигдлясборкиобразаpgAdmin4python
2021-03-21 15:52:27pgAdmin4Python Командасборки docker build . -tag you_name_buildКомандазапуска docker run -p 5050:5050 you_name_build you_Email you_passwordМожнособратьвезде... -
pgadmin4-4.5-x86.exe
2020-06-30 09:01:52pgAdmin 4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件, 它允许您连接到特定的数据库,创建表和运行各种从简单到复杂的SQL语句。 它支持的操作系统包括Linux,Windows,Mac OS X。 -
pgadmin4-4.30.dmg
2021-01-29 15:04:39pgsql客户端可视化连接工具mac版本 -
pgadmin4-4.27-x64.exe
2020-11-06 11:30:57pgadmin4,可以web图形化界面连接、管理、监控postgreSQL数据库,2020年发布。官网下载,无毒,放心食用。 -
pgadmin4:pgAdmin 4 GIT存储库的镜像。 不要在这里提交拉取请求! 使用pgadmin-hackers@lists.postgresql....
2021-03-12 22:53:33在以下文档和示例中, $ PGADMIN4_SRC /用于表示tar或git checkout的pgAdmin源代码树副本的顶层目录。建筑学pgAdmin 4是使用Python编写的Web应用程序,使用jQuery和Bootstrap进行客户端处理和UI。 在服务器端,正在... -
pgAdmin4客户端
2018-10-23 17:06:13pgAdmin 4绿色版,这是一款非常专业的数据库设计工具,而且该软件支持多平台,还拥有多个部署模型,让你的操作变得更加的简单,有兴趣的小伙伴不妨来游迅网下载试试,相信这款软件一定不会让你失望的。 -
pgadmin4-2.0-py2.py3-none-any.whl
2017-10-08 10:55:06它能在各种平台的Windows,Linux,FreeBSD,Mac和Solaris服务器上使用。 特性包括: 任意 SQL 语句。 可用于数据库,表,索引,序列,视图,触发器, 函数和语言的浏览器和'构造器'。 用户,组和权限配置对话框。... -
pgadmin4数据库管理
2018-08-13 16:45:52pgadmin4数据库管理 PostgreSQLpgadmin4数据库管理 PostgreSQL -
PgAdmin4安装包
2022-07-26 16:00:58PostgreSQL客户端安装包 -
pgadmin4-1.4-x86.rar
2020-07-12 21:15:28PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。 -
pgadmin4 本地安装部署
2020-12-04 13:00:131、介绍 pgAdmin是PostgreSQL及其相关数据库管理系统的开源管理和开发平台。用Python和jQuery编写,它支持PostgreSQL中的所有功能。 您可以使用pgAdmin执行从编写基本SQL查询...2、下载pgadmin4 下载地址:https://1、介绍
pgAdmin是PostgreSQL及其相关数据库管理系统的开源管理和开发平台。用Python和jQuery编写,它支持PostgreSQL中的所有功能。
您可以使用pgAdmin执行从编写基本SQL查询到监视数据库和配置高级数据库体系结构的所有操作。
既可以部署为web模式通过浏览器访问,也可以部署为桌面模式独立运行。
安装环境:centos7.8 + pgadmin4.15 + python3.8.1 + httpd2.4.41
2、下载pgadmin4
下载地址:https://www.postgresql.org/ftp/pgadmin/pgadmin4/
HGCMM使用的是4.15,文件名称:pgadmin4-4.15.tar.gz
3、安装python3.8.1
如果使用相对路径的python,可以不用做软连接和环境变量,只指定LD_LIBRARY_PATH即可
4、python安装依赖包
4.1、安装虚拟环境
#Python目录 /opt/python381 [root@baidu1 python381]# ./bin/pip3 install virtualenv #如果提示需要升级pip,那就按照命令升级 /opt/py381env/bin/python -m pip install --upgrade pip
4.2、创建虚拟环境
[root@baidu1 python381]# pwd /opt/python381 [root@baidu1 python381]# ./bin/virtualenv -p ./bin/python3 --always-copy --clear /opt/py381env created virtual environment CPython3.8.1.final.0-64 in 158ms creator CPython3Posix(dest=/opt/py381env, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv) added seed packages: pip==20.2.4, setuptools==50.3.2, wheel==0.35.1 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator [root@baidu1 python381]#
--always-copy:可执行文件拷贝副本,而不是软链接。
4.3、进入虚拟环境
[root@baidu1 python381]# source /opt/py381env/bin/activate (py381env) [root@baidu1 python381]# which python /opt/py381env/bin/python (py381env) [root@baidu1 python381]# which pip3 /opt/py381env/bin/pip3
4.4、安装pgAdmin及其依赖项
#修改2个依赖模块 (py381env) [root@baidu1 python381]# vi /opt/pgadmin4/requirements.txt #Werkzeug>=0.15.0 Werkzeug==0.16.0 #psycopg2>=2.8 psycopg2-binary>=2.8 #install (py381env) [root@baidu1 python381]# pip3 install -r /opt/pgadmin4/requirements.txt ... Successfully installed... #错误情况1 Collecting psycopg2>=2.8 Using cached psycopg2-2.8.6.tar.gz (383 kB) ERROR: Command errored out with exit status 1: Error: pg_config executable not found. #解决办法(官方不在推荐下载psycopg2,使用psycopg2-binary替代,正在开发psycopg3) psycopg2-binary>=2.8 #错误情况2 File "/opt/py381env/lib/python3.8/site-packages/flask_wtf/recaptcha/widgets.py", line 5, in <module> from werkzeug import url_encode ImportError: cannot import name 'url_encode' from 'werkzeug' (/opt/py381env/lib/python3.8/site-packages/werkzeug/__init__.py) #解决办法:Werkzeug==0.16.0
5、配置pgadmin4
5.1、创建pgadmin存储目录,日志/会话/存储
mkdir -p /var/lib/pgadmin4/sessions mkdir -p /var/lib/pgadmin4/storage mkdir -p /var/log/pgadmin4
将这些目录的所有权更改为非root用户和组。这是必要的,因为它们目前由root用户拥有,但我们将从非root用户拥有的虚拟环境安装pgAdmin,
安装过程涉及在这些目录中创建一些文件。但是,在安装之后,我们会将所有权更改为www-data用户和组,以便将其提供给Web:chown -R see:see /var/lib/pgadmin4 chown -R see:see /var/log/pgadmin4
确保它具有允许其正确提供Web界面所需的权限和配置。
pgAdmin的主配置文件config.py,它将在任何其他配置文件之前被读取。其内容可用作可在pgAdmin的其他配置文件中指定的其他配置设置的参考点,但为避免无法预料的错误,您不应编辑config.py文件本身。
我们将对一个名为的新文件添加一些配置更改,该文件config_local.py将在主文件之后读取。(py381env) [root@baidu1 python381]# vim /opt/pgadmin4/web/config_local.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' SERVER_MODE = True
以下是这五个指令的作用:
LOG_FILE
:这定义了将存储pgAdmin日志的文件。SQLITE_PATH
:pgAdmin将用户相关数据存储在SQLite数据库中,该指令将pgAdmin软件指向此配置数据库。由于此文件位于持久目录/var/lib/pgadmin4/
下,因此升级后您的用户数据不会丢失。SESSION_DB_PATH
:指定将用于存储会话数据的目录。STORAGE_DIR
:定义pgAdmin将存储其他数据的位置,例如备份和安全证书。SERVER_MODE
:设置此指令以True
告知pgAdmin在服务器模式下运行,而不是桌面模式。
(py381env) [root@baidu1 python381]# python3 /opt/pgadmin4/web/setup.py Email address: 345731923@qq.com Password: Retype password: ... pgAdmin 4 - Application Initialisation ====================================== #退出虚拟环境 (py381env) [root@baidu1 python381]# deactivate [root@baidu1 python381]# #测试(只限本机),浏览器访问127.0.0.1:5050 (py381env) [root@baidu1 python381]# python3 /opt/pgadmin4/web/pgAdmin4.py
这样,pgAdmin就配置完成了。
6、配置Apache httpd
6.1、pip安装mod_wsgi
yum install -y httpd httpd-devel [root@baidu1 python381]# pwd /opt/python381 [root@baidu1 python381]# source /opt/py381env/bin/activate (py381env) [root@baidu1 python381]# pip3 install mod_wsgi Collecting mod_Wsgi Using cached mod_wsgi-4.7.1-cp38-cp38-linux_x86_64.whl Installing collected packages: mod-Wsgi Successfully installed mod-Wsgi-4.7.1 #wsgi位置 (py381env) [root@baidu1 python381]# mod_wsgi-express install-module LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so" WSGIPythonHome "/opt/python381" (py381env) [root@baidu1 python381]#
6.2、源码编译Apache httpd
6.3、修改httpd.conf
<IfModule unixd_module> #前面授权的用户 User see Group see # for pgadmin4 LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so WSGIPythonHome "/opt/py381env" Listen 6060 Define ROOT "/opt" <VirtualHost *:6060> WSGIScriptAlias / ${ROOT}/pgadmin4/web/pgAdmin4.wsgi WSGIDaemonProcess pgadmin processes=1 threads=25 <Directory ${ROOT}/pgadmin4/web> Require all granted </Directory> </VirtualHost>
保存退出。
7、启动
7.1、使用普通用户启动
sudo ./bin/apachectl -f ./conf/httpd.conf -k start #页面报错查看日志 tail -f ./logs/error.log
7.2、打开浏览器,输入http://localhost:6060即可看到pgadmin4界面
#Apache httpd日志错误:the CSRF token do not match
解决办法:这种情况一般出现在离线版的pgadmin,原因是Apache httpd依赖apr、apr-util、pcre,如果环境变量找不到这几个就会出现token无法验证的情况。
#[mpm_worker:alert] [pid 7967:tid 281473025372592] (11)Resource temporarily unavailable: AH03142: apr_thread_create: unable to create worker thread
解决办法:环境变量没有配置apr、apr-uitl、prce的lib
[wsgi:alert] [pid 15183:tid 281472937192016] (13)Permission denied: mod_wsgi (pid=15183): Couldn't bind unix domain socket '/run/httpd/wsgi.15183.0.1.sock'.
解决办法:没有权限设置sock文件,设置一个属性即可。WSGISocketPrefix /var/run/wsgi
详情见:https://modwsgi.readthedocs.io/en/master/user-guides/configuration-issues.html
-
pgadmin4 windows postgresql客户端
2019-03-19 11:42:57pgadmin4 windows postgresql客户端连接工具 经测试可用 -
pgadmin4-4.2-x86
2019-04-01 15:08:25gAdmin 4绿色版,这是一款非常专业的数据库设计工具,而且该软件支持多平台,还拥有多个部署模型,让你的操作变得更加的简单,有兴趣的小伙伴不妨来游迅网下载试试,相信这款软件一定不会让你失望的。