如何远程访问PgAdmin4?

16

我尝试通过位于本地网络中另一台安装有Linux Ubuntu 16.04的笔记本电脑上的浏览器访问pgAdmin4,但无法访问。 在本地主机上... 可以输入图像描述

但是远程访问... 无法访问 输入图像描述


Stack Overflow是一个针对编程和开发问题的网站。您可能应该在Stack Exchange网络上使用其他网站来提出这个问题。另请参见帮助中心中的我可以在这里问哪些主题。https://superuser.com/questions/tagged/pgadmin。 - jww
6个回答

11
您需要添加以下配置选项:
在“pgAdmin4”文件夹下的config_local.py中添加 DEFAULT_SERVER = '0.0.0.0'
如果您还想更改默认端口,则可以添加 DEFAULT_SERVER_PORT = 5050

2
我添加了DEFAULT_SERVER,现在面临着一个带有电子邮件和密码的登录页面(?)。你有什么想法吗? - Elad Tabak
你之前在本地电脑上登录时是用什么方式登录的?使用相同的登录凭据登录到pgAdmin4。 - Murtuza Z
我从来不需要登录 - 应用程序只是打开了。 - Elad Tabak
你能否在本地主机上使用pgAdmin4登录而无需输入电子邮件/密码? - Murtuza Z
@MurtuzaZ,我可以,而且我认为Elad Tabak也可以。当通过http://127.0.0.1访问时,这是pgAdmin4的正常行为。但是,当通过任何其他IP或域名访问,甚至通过http://localhost访问时,它会要求登录和密码。我不知道该使用什么密码。 - Nashev
阅读文档后,我在config.py文件旁边添加了config_local.py文件,并仅将DEFAULT_SERVER设置为'0.0.0.0',效果非常好! - Facundo Colombier

2

首先需要修改config.py文件中的一行,将DEFAULT_SERVER = '127.0.0.1'改为DEFAULT_SERVER = '0.0.0.0'

config.py文件与pgAdmin4在同一个目录下:

sudo find / -name "*pgAdmin4"

在相同的目录下启动pgAdmin4(使用tmux或服务将其保持在后台):

sudo python3 pgAdmin4.py

如果您不知道登录信息,可以删除/移动此文件并重新启动pgAdmin.py:
sudo find / -name "*pgadmin4.db"

这应该适用于Ubuntu Server和Desktop。最好保留127.0.0.1并在前面使用nginx或Apache。


1

在Ubuntu 20.04上测试
apt install pgadmin4-apache2
nano /usr/share/pgadmin4/web/config.py
将127.0.0.1替换为0.0.0.0
不要忘记在使用远程Web浏览器启动pgadmin4时,通过将127.0.0.1替换为pgadmin4主机IP来复制shell中的密钥
例如:在您的远程Web浏览器中看起来像这样
http://192.168.1.56:43223/?key=5f45c8ee-4593-41d0-9ae1-06d6dd1d8280
提示:如果找不到config.py,请执行以下命令:
apt install mlocate
updatedb
locate pgadmin4 | grep config.py$
所有命令均为根权限,如果您不是根用户,请不要忘记sudo。


1
奇怪的是,在我的情况下,我必须手动运行该命令。
$ pgadmin4

然后仪表板将自动在默认浏览器中呈现。

0

看起来您正在尝试在服务器上打开pgadmin客户端。

我建议您从想要连接的地方安装pgadmin客户端,将服务器添加到pgadmin中并进行连接。


-3
在 macOS 上,我发现 pgAdmin 4 Web 接口使用端口 61886
尝试使用 http://localhost:61886/browser 访问它。
如果无法访问,请运行命令 netstat -atp tcp | grep -i "listen" 并检查哪些端口正在监听。

4
请注意,该端口不是静态的,以桌面应用程序方式运行 pgAdmin4 将从可用端口中随机选择。 - Murtuza Z

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接