我正在尝试做的事情:
我正在尝试在 AWS EC2 实例(Ubuntu 18.04.5)上设置一个 postgres 数据库(PostgreSQL 10.16)以及 PgAdmin(带有 Flask 版本 1.1.2 的 PgAdmin4 5.4)。
我的最终目标是在“服务器模式”下运行 PgAdmin4,以便我(和其他一些用户)可以通过我们的 Web 浏览器远程访问 postgres 数据库。
到目前为止我尝试过的:
我已经成功安装了 postgres 和 pgadmin4,并确认当 PgAdmin 处于“桌面模式”时,我可以通过 pgadmin 在线访问 postgres 并创建数据库/表/用户/等:
但是当我修改“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 地址时,我可以按预期看到这个登录屏幕:
但是,我在 PgAdmin4 安装期间创建的用户/密码在此屏幕上不起作用(当 PgAdmin4 处于“桌面模式”时,相同的密码确实可以作为“主密码”授予我访问权限,尽管它不问在该模式下的用户名)。
我已按照此线程中的一些建议删除服务器文件并重置在安装期间创建的用户/密码,但它似乎没有做任何事情 - 删除后,我没有被提示输入任何新内容并且相同的“主密码”仍然允许我在“桌面模式”下访问 PgAdmin4,但仍然不适用于“服务器模式”。
我还尝试在“桌面模式”下在 PgAdmin4 中创建一个新的超级用户,认为这可能有效,但它没有 - 我怀疑这是因为这些用户是用于 postgres 数据库,而不是 PgAdmin4?
所以,在这一点上,我被困在寻找有关如何创建用户的建议,这些用户将允许我在浏览器处于“服务器模式”时通过浏览器登录到 PgAdmin4。