PgAdmin4 v8.7登录对话框消失,多用户切换登录问题求助
解决PgAdmin4 8.7无登录对话框及切换用户问题
一、强制显示登录对话框
你当前启动直接进入GUI是因为PgAdmin4默认保留登录会话或启用了自动登录,按以下步骤修改配置:
修改配置文件
打开config_local.py(推荐用这个,避免升级覆盖config.py),添加或修改以下配置:# 禁用自动登录,强制每次启动显示登录框 AUTO_LOGIN = False # 设置会话过期时间(秒),到期后需重新登录 SESSION_EXPIRATION_TIME = 3600 # 确保认证来源配置正确(你已设置的LDAP+内部认证) AUTHENTICATION_SOURCES = ['ldap','internal']清除现有会话缓存
Windows下删除用户目录中的会话文件,路径为:C:\Users\<你的用户名>\AppData\Roaming\pgAdmin\sessions删除该目录下所有文件,下次启动PgAdmin4就会弹出登录对话框。
二、正确切换用户的两种场景
1. 切换PgAdmin登录账户(LDAP/内部用户)
在登录对话框中直接输入目标用户的凭据即可,配置的AUTHENTICATION_SOURCES会先尝试LDAP认证,失败后再用内部账户认证。
2. 切换PostgreSQL数据库用户(无需切换PgAdmin登录)
你不需要修改数据库属性,也不需要切换PgAdmin登录账户,直接在连接服务器时操作:
- 打开已有的服务器连接,点击连接按钮旁的下拉箭头,选择连接为...
- 在弹出的窗口中输入目标PostgreSQL用户的用户名和密码,点击确定即可用该用户登录数据库
三、正确的命令行启动方式
你之前的命令混淆了pgadmin4(PgAdmin GUI启动命令)和psql(PostgreSQL命令行客户端),两者是独立工具:
- 启动PgAdmin4并显示登录框,直接运行:
pgadmin4.exe - 如果要直接用指定用户连接PostgreSQL,使用
psql命令(和PgAdmin无关):psql.exe "host=<hostname> port=<port> dbname=postgres user=<user> sslmode=prefer connect_timeout=10"
内容的提问来源于stack exchange,提问作者Kwmayan
相关产品推荐
相关产品推荐

