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


107

如何在桌面模式下安装pgAdmin 4?该文档仅详述服务器模式。


当然,Docker版本是安装PGAdmin4的简便快捷的方法。我花了很多时间来完成自述文件中的旧方法。然后,在浏览器窗口中访问它,将其指向0.0.0.0:5050即可。当我尝试用它创建服务器时,它加载速度非常快,但是它一直在说Postgresql没有运行,但是在PGAdmin3中Postgresql运行得很好。阅读了很多评论,说这是什么劣质产品,使用后果自负!!!
杰拉德·布朗


2
apt(ubuntu 16.04)上仅pgadmin3可用。知道如何打开对Canonical的请求,以便在apt软件包中包含pgadmin4吗?请求将“应用”包含在包管理器中的过程是什么?
AlikElzin-kilaka

@ AlikElzin-kilaka-在下面查看我的答案以获取适当的方法。
穆罕默德·侯赛因巴希奇(MuhamedHuseinbašić)'18年

如果有人只想要pgAdmin3,则可以使用所有Ubuntu安装中的Ubuntu软件应用程序进行安装。
凯尔·布​​莱恩汀汀

Answers:


154

对于Ubuntu上的pgAdmin 4 v4.12,根据下载页面

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

使用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/v4.12/pip/pgadmin4-4.12-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/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

配置

覆盖默认路径,并在本地配置文件中将其设置为单用户模式:

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

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

对于Python3.x:

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

访问

访问http:// localhost:5050

出口

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


该wget上的404。
乌龟很可爱

5
我想添加它以便快速运行,将其添加到我的〜/ .bashrc中:alias pgadmin =“ source〜/ pgadmin4 / bin / activate && python〜/ pgadmin4 / lib / python2.7 / site- packages / pgadmin4 / pgAdmin4.py”那样,我可以直接输入pgadmin并启动它,就像它应该开箱即用。你在听pgadmin吗?
light24bulbs

1
这里是正确的链接,FTP V2.1:ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/...
伊萨Ghouti

1
是否python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py可以删除/替换与python3.6依赖项的硬链接?这样一来,答案将更有前途。
paul23年

1
在Python 3.7随附的Ubuntu 19.04上,用Python 3.x指令中的3.7替换掉3.6的所有出现。
Karl Richter

49

另一个选择是使用docker和thaJeztah提供的docker映像-https: //github.com/thaJeztah/pgadmin4-docker

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

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

可以通过以下两个步骤找到被Docker化的数据库实例的IP:

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

    docker ps

  • 检查container_name以找到其ip:

    docker inspect <ID from previous step>

您正在寻找类似“ IPAddress”的内容:“ 172.18.0.3”


1
如何让它看到dockerized postgres?localhost / 127.0.0.1 /容器ID对我不起作用。
ampofila

1
我们可以设置IP静态地址吗,也就是说,我们不必在每次重新启动它时都更新应用程序以指向新的Docker容器IP
Nam G VU

很好,添加了一个铬应用程序快捷方式,这几乎就像使实际应用程序处于后台状态一样
chrismarx

连接主机数据库的其他方法:stackoverflow.com/questions/24319662/…–
qmn1711

46

在Ubuntu 16.04则可以安装pgadmin4使用

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上对此进行了测试。

上述方法的来源


好吧,另一件事我想知道如果我将其安装在服务器上该如何启动。
阿基伦德拉

1
对于像Mint这样的基于Ubuntu的发行版,您可能希望将其替换为$(lsb_release -cs)基于它的Ubuntu版本。例如,薄荷萨拉(18版)基于Xenial,看起来像这样:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
aggregate116​​6877

2
至少对于Ubuntu + 16.xx而言,它似乎是最终的解决方案。谢谢 !
路易丝
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.