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

Vic*_*tor 117 postgresql software-installation pgadmin

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

Vic*_*tor 165

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

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

使用 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.21/pip/pgadmin4-4.21-py2.py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)

使用 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.21/pip/pgadmin4-4.21-py2.py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)

配置

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

nano lib/python2.7/site-packages/pgadmin4/config_local.py
Run Code Online (Sandbox Code Playgroud)

对于 Python3.x:

nano lib/python3.6/site-packages/pgadmin4/config_local.py
Run Code Online (Sandbox Code Playgroud)

写:

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 Code Online (Sandbox Code Playgroud)

python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
Run Code Online (Sandbox Code Playgroud)

对于 Python3.x:

python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py
Run Code Online (Sandbox Code Playgroud)

使用权

访问http://localhost:5050

出口

使用 Ctrl-C 退出

再次运行

cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
Run Code Online (Sandbox Code Playgroud)

对于 Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py
Run Code Online (Sandbox Code Playgroud)

创建快捷方式

touch ~/pgadmin4/pgadmin4
chmod +x ~/pgadmin4/pgadmin4
nano ~/pgadmin4/pgadmin4
Run Code Online (Sandbox Code Playgroud)

写:

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
Run Code Online (Sandbox Code Playgroud)

对于 Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py
Run Code Online (Sandbox Code Playgroud)

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

~/pgadmin4/pgadmin4
Run Code Online (Sandbox Code Playgroud)

Python3 用户

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

与 pgAdmin 3 配置冲突

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

  • 我想添加它以便我可以快速运行它,我将它添加到我的 ~/.bashrc 中: alias pgadmin="source ~/pgadmin4/bin/activate && python ~/pgadmin4/lib/python2.7/site- package/pgadmin4/pgAdmin4.py" 这样我就可以输入 pgadmin 并启动它,就像它应该开箱即用一样。你在听 pgadmin 吗? (7认同)

小智 52

其他选项是使用 docker 和 thaJeztah 提供的 docker 镜像 - https://github.com/thaJeztah/pgadmin4-docker

$ docker run --rm -p 5050:5050 thajeztah/pgadmin4
Run Code Online (Sandbox Code Playgroud)

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

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

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

    docker ps

  • 检查 container_name 以查找其 ip:

    docker inspect <ID from previous step>

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


Muh*_*šić 50

在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
Run Code Online (Sandbox Code Playgroud)

我已经在 16.04 上测试过了。

上述方法的来源

  • 它看起来是终极解决方案,至少对于 Ubuntu +16.xx 而言是这样。谢谢 ! (3认同)