PgAdmin4 无法通过服务器模式访问

问题描述

我想做什么:

我正在尝试在 AWS EC2 实例 (Ubuntu 18.04.5) 和 PgAdmin (PgAdmin4 5.4 with Flask Version 1.1.2) 上设置 postgres 数据库 (Postgresql 10.16)。

我的最终目标是在“服务器模式”下运行 PgAdmin4,以便我(和其他一些用户)可以通过我们的网络浏览器远程访问 postgres 数据库

到目前为止我尝试了什么:

我已经成功安装了 postgres 和 pgadmin4,并确认我可以通过 pgadmin 在线访问 postgres 并在 PgAdmin 处于“桌面模式”时创建数据库/表/用户/等:

enter image description here

但是,当我修改“config_local.py”文件以启用 PgAdmin4 的“服务器模式”版本(见下文)时,事情变得不顺利...

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 = True

我得到的结果:

服务器模式肯定打开了,因为当我在浏览器中访问相同的 IP 地址时,我可以按预期看到此登录屏幕:

enter image description here

但是,我在 PgAdmin4 安装期间创建的用户/密码在此屏幕上不起作用(当 PgAdmin4 处于“桌面模式”时,相同的密码确实可以作为“主密码”来授予我访问权限,尽管它不会在该模式下不要求输入用户名)。

我已经按照一些 advice in this thread 删除了服务器文件并重置了在安装过程中创建的用户/密码,但它似乎没有做任何事情 - 删除后,我没有收到提示输入任何新的东西,同样的“主密码”仍然允许我在“桌面模式”下访问 PgAdmin4,但仍然不能用于“服务器模式”。

我还尝试在“桌面模式”下在 PgAdmin4 中创建一个新的超级用户,我认为这可能有效,但它没有 - 我怀疑这是因为这些用户用于 postgres 数据库,并且不是 PgAdmin4?

因此,在这一点上,我被困在寻找有关如何创建用户的建议,这些用户将允许我在处于“服务器模式”时通过浏览器登录 PgAdmin4。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)