当前位置: 首页>>技术教程>>正文


如何在Ubuntu上以桌面模式安装pgAdmin 4

, , ,

问题描述

如何在桌面模式下安装pgAdmin 4? documentation仅详细说明服务器模式。

最佳解决方案

对于Ubuntu上的pgAdmin 4 v3.3,根据download page

安装依赖项,创建虚拟环境,下载,安装和安装;配置

使用Python2.x

sudo apt-get install virtualenv python-pip libpq-dev python-dev

cd
virtualenv pgadmin4
cd pgadmin4
source bin/activate

pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.3/pip/pgadmin4-3.3-py2.py3-none-any.whl

使用Python3.6(首选以避免编码相关问题)

sudo apt-get install virtualenv python3-pip libpq-dev python3-dev

cd
virtualenv -p python3 pgadmin4
cd pgadmin4
source bin/activate

pip3 install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.3/pip/pgadmin4-3.3-py2.py3-none-any.whl

Configure

覆盖默认路径并将其设置为local configuration file中的single-user模式:

nano lib/python2.7/site-packages/pgadmin4/config_local.py

对于Python3.x:

nano lib/python3.6/site-packages/pgadmin4/config_local.py

写:

import os
DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.pgadmin/'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
SERVER_MODE = False

Run

python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

对于Python3.x:

python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Access

访问http://localhost:5050

Exit

使用Ctrl-C退出

再次运行

cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

对于Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

做一个捷径

touch ~/pgadmin4/pgadmin4
chmod +x ~/pgadmin4/pgadmin4
nano ~/pgadmin4/pgadmin4

写:

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

对于Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

现在您可以使用更简单的命令运行它:

~/pgadmin4/pgadmin4

Python3用户

将Python3.6中的[x]替换为各自的版本。

与pgAdmin 3配置冲突

由于.pgadmin目录中的配置不兼容,pgAdmin 4将无法在以前安装和使用pgAdmin 3的环境中启动。最简单的解决方案是清除该目录或调整config_local.py以指向一个干净的新.pgadmin4目录。

次佳解决方案

其他选择是使用由thaJeztah提供的docker和docker图像 – https://github.com/thaJeztah/pgadmin4-docker

$ docker run --rm -p 5050:5050 thajeztah/pgadmin4

然后,要从pgadmin4中访问PostgreSQL数据库实例,您应该使用主机的IP而不是localhost和127.0.0.1,因为Docker会将这些映射到容器本身。

可以通过两个步骤找到dockerised数据库实例的IP:

  • 使用以下命令查找数据库的容器ID:docker ps

  • 检查container_name以查找其IP:docker inspect <ID from previous step>

您正在寻找”IPAddress”:”172.18.0.3″

第三种解决方案

我不确定我是否遗漏了某些东西(如果我这样做,请告诉我),但这似乎更简单:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add 
sudo apt update
sudo apt install pgadmin4

我在16.04测试了这个。

source for the above approach

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1139.html,未经允许,请勿转载。