You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过终端psql查询pgadmin所有用户的电子邮箱地址

pgAdmin用户邮箱查询方案

核心误区说明

你此前执行的SQL查询的是PostgreSQL数据库服务的内置系统表pg_shadow,存储的是数据库层面的登录账号信息,和pgAdmin平台自身的用户数据完全无关,查询方向本身有误。同时pg_shadow仅允许数据库超级用户访问,普通登录账号无权限属于正常情况,不需要额外处理该权限问题。

正确查询步骤

pgAdmin的用户信息存储在它专属的元数据库中,根据部署时的配置分为两种查询方式:

情况1:元数据默认存储在SQLite中

绝大多数默认部署的pgAdmin都会采用SQLite存储元数据,操作如下:

  • 终端进入SQLite数据库文件所在路径,Linux默认路径为/var/lib/pgadmin/pgadmin4.db,Windows默认路径为%APPDATA%\pgAdmin\pgadmin4.db
  • 执行命令打开数据库:
sqlite3 /var/lib/pgadmin/pgadmin4.db
  • 执行SQL查询所有用户邮箱:
SELECT id, email, active FROM users ORDER BY email;

情况2:元数据存储在PostgreSQL中

如果你部署时手动配置了pgAdmin将元数据存在指定PostgreSQL库中,操作如下:

  • 用你可正常登录psql的账号,连接pgAdmin专属的元数据库(不是业务数据库)
  • 执行SQL查询所有用户邮箱:
SELECT id, email, active FROM users ORDER BY email;

内容的提问来源于stack exchange,提问作者Wim den Herder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:06:04