2022年7月11——8月1日,pgAdmin 开发团队进行了为期3周的 pgAdmin 用户调查。该调查的目的是帮助我们了解用户如何使用 pgAdmin 来帮助我们塑造和集中我们未来的开发工作。
有 278 人花时间完成了调查,我们得到了热烈的反响——远远超出了我们的预期。反应也普遍积极,许多人对开发团队的工作表示赞赏,这总是很高兴听到。
在这篇博文中,我将通过调查的高层次主题,尝试总结已报告的内容,并得出一些初步结论。如果您想亲自查看结果,您可以下载报告全文:
《pgAdmin User Survey 2022》 报告下载:https://www.modb.pro/doc/90850
安装环境
绝大多数用户 (96%) 将 pgAdmin 安装到台式机或服务器计算机上。只有 6% 部署到云中,其中大部分使用 AWS。大约另外 6% 的用户使用某种容器或私有云基础设施。请注意这一点 - 以及以下许多问题 - 受访者可以选择多个答案,因此百分比加起来可能不等于 100。
97% 的用户在 64 位 Intel/AMD 硬件上运行 pgAdmin,其中 13% 使用 ARM64,1% 使用 PowerPC 硬件。显然主要关注 x86_64 是有道理的,尽管我怀疑随着人们更多地使用基于 ARM 的容器并且 Mac 被采用 Apple Silicon 的更新机器所取代,ARM64 的数量在未来会增长。
流行操作系统的用户分布更加均匀;57% 在 Linux 上运行 pgAdmin,18% 在 macOS 上运行,63% 在 Windows 上运行。这大致符合我的预期。
查看使用的软件包,情况不太清楚,因为可以在同一操作系统上使用多种软件包选项;例如,pgAdmin 与适用于 Windows 和 macOS 的 EDB PostgreSQL 安装程序捆绑在一起,此外,您还可以为两者下载独立的 pgAdmin 包。以下是回应:

对于容器用户,绝大多数用户使用编排技术,其中 Kubernetes 最受欢迎(56%),其次是 Docker Swarm(24%)和 OpenShift(14.5%)。
也许本节中最大的惊喜是相对较少的人从 Docker Hub 获取他们的 pgAdmin 包,或者说他们部署了 pgAdmin 容器。获取 pgAdmin 下载统计数据非常困难,因为 pgAdmin/PostgreSQL 网站不会将访问日志保留超过几天以用于诊断目的。然而,我们可以从一些网站获得统计数据,它们告诉我们的是完全不同的故事:
Chocolatey (all time): 450744
Docker Hub (all time): 203357292
Homebrew (last 365 days): 30104
PyPi (last 6 months): 33988
======================================
Total: 203872128
Docker 声称我们已经有超过 2 亿次容器拉取,而我们看到 Chocolatey、Homebrew 和 PyPi 的下载量要少得多。这是因为每当用户 ping Docker Hub 以查看是否有可用更新时,Docker 都会进行计数吗?如果没有,那么这意味着我们可以预期从我们的网站和 APT/YUM 存储库获得 12.5 亿次下载。显然肯定不是这样的!在我看来,Docker 的数字在这里是异常值,我们确实看到“真实”下载的数量要少得多——我猜,根据我知道的其他一些 PostgreSQL 发行版的数字,按所有发行版每年总共几百万。
无论如何,我们的大多数用户似乎都在使用我们提供的 Windows、macOS 和 Linux 软件包,而大多数 Linux 用户更喜欢 APT(Debian/Ubuntu 和朋友)。Docker 似乎也很受欢迎。
最后,在本节中,我们询问了我们应该考虑支持哪些其他类型的包/发行版,其中 FlatPak 和 Snap 几乎平分秋色,其次是 AppImage 和 NuGet。添加新类型的软件包是额外测试和维护方面的一项重大承诺,因此虽然我们可能不会创建任何新软件包,但我们确实对人们的需求有了更好的了解。
桌面部署
87% 的受访者在桌面模式下运行 pgAdmin,并且大多数人在他们的组织中有多个安装。也许最令人惊讶的是,7.5% 的受访者告诉我们他们在其组织内部署了 50 多个。大多数人有两到五个:

42% 的用户使用服务器导入/导出功能,这表明与同事或可能正在使用的不同机器共享服务器定义是很常见的。
我们还询问了用户如何通过他们管理的 PostgreSQL 服务器进行身份验证。“密码”是迄今为止最常见的选择,但令人惊讶的是,超过 8% 的用户使用“信任”身份验证——希望这些服务器是本地开发实例!还使用了 LDAP 和 Kerberos,并且 PAM 与 Kerberos 捆绑在一起,这是意料之外的。
不到 10% 的用户告诉我们,他们修改了 pgAdmin config_*.py 安装的配置文件;最常见的是禁用用于安全加密已保存密码的主密码功能(并且在至少一种情况下,也禁用密码保存),但也用于调整日志位置、禁用升级检查和进行其他杂项行为更改。
服务器部署
34% 的受访者在服务器模式下部署 pgAdmin,因此从统计上我们可以看出,有大量用户同时运行这两种模式。正如人们所预料的那样,相当多的用户 (46%) 部署了一台服务器,但这当然意味着超过一半的用户部署了两台或更多台服务器。6% 的人有超过 10 个部署,这表明一种使用模式可能是将 pgAdmin 作为应用程序部署的一部分(即在 Kubernetes 中),或者可能有部门部署。
大多数部署只有少数用户,只有一名受访者报告说他们最大的部署有 51-100 名用户。二到五个是最常见的答案,再次表明部门或每个应用程序部署可能很常见。
大多数部署似乎使用 pgAdmin 的内部用户数据库进行身份验证,但是很多部署确实使用了 Kerberos、LDAP 和 OAuth,其中 Active Directory 是 Kerberos 和 LDAP 用户最常用的身份验证提供程序,MIT Kerberos 和 OpenLDAP 即将推出排在第二位。OAuth 提供者似乎相对多样化:

有趣的是,有 34 名受访者正在使用相对较新的双因素身份验证支持。
用于在服务器模式下托管 pgAdmin 的方法也多种多样。虽然容器被大多数人使用,但 pgAdmin APT/YUM 包的使用也不甘落后。也许更令人惊讶的是手动配置自己的部署的人数,或者使用带有 mod_wsgi 的 Apache HTTPD(就像我们的包一样),或者使用 Nginx/Lighttpd 和 Gunicorn/uWSGI 的一些其他组合。也许这里的文档中有其他示例配置的机会?
大约一半的服务器模式用户还在 pgAdmin 前面使用了代理服务器:

服务器导入/导出的使用与桌面模式用户所见并无太大差异,大约有一半使用它。PostgreSQL 的身份验证也类似于桌面模式用户,大多数使用“密码”身份验证,少数使用 LDAP、Kerberos、PAM 和 Trust。在服务器模式下使用“信任”比桌面模式更令人惊讶,因为在 pgAdmin 处于服务器模式的环境中运行的 PostgreSQL 服务器似乎很可能可以通过网络访问。
最后,服务器模式下的配置定制似乎更像预期的那样专注于身份验证配置。
特征
绝大多数用户使用 pgAdmin 来管理 PostgreSQL(实际上是 100%),其中 4% 将其与 EDB Postgres Advanced Server 一起使用。许多个人用户还报告将其与基于云的服务(例如 Amazon RDS 和 Aurora 以及 Google Cloud SQL)一起使用。我没想到会看到添加为“其他”选项的是 Neon 和 Citus。可能以后要考虑增加对他们的官方支持。
当我们查看人们使用的主要功能时,我惊讶地发现只有 90% 的人使用查询工具,而我一直认为基本上每个人都使用它。更令人惊讶的是,只有 72% 使用模式浏览器和对象创建/属性对话框——我只能假设这是对我们在那里命名的误解,因为如果不使用模式,几乎不可能在 pgAdmin 中做任何事情浏览器。也许一些用户限制了他们对对话的回应。
导入/导出数据是第三大最常用的工具,我们刚刚对其进行了一些改进,希望人们会喜欢。使用的其他关键功能并不令人惊讶;也许最突出的两个是 42% 的人使用集成的 PSQL 工具,以及 3% 的用户使用非常新的云部署功能,这很高兴在它的生命早期看到。
Core Information 选项卡显示的使用情况大致符合我的预期,尽管 Dependents 和 Dependencies 选项卡的使用比我想象的要多一些。绝大多数用户 (94%) 使用 SQL 选项卡,我个人认为这是最有用的选项卡:

我们询问人们希望看到支持哪些其他对象类型。写这个问题时,它是指 PostgreSQL 对象,例如 Conversions 或 Operators 等;那些由模式浏览器树视图中的节点表示的。考虑到为这个问题选择的“其他”选项的数量,很明显我们没有很好地表达这个问题。也就是说,很明显我们应该考虑添加对统计节点和默认权限的支持,这可能是对数据库和模式属性的补充。
查询工具几乎可以肯定是 pgAdmin 中最通用的工具,因此具有其自身的广泛功能。列出的所有选项都被多人使用,其中自动完成和解释统计数据最受欢迎。这可能指向我们提出的另一个措辞不当的问题,因为据报道使用图形解释功能的人比解释统计数据少得多,但是,如果不先使用图形解释功能,您将无法看到统计数据!也有可能人们将 Graphical Explain 理解为只是计划可视化选项卡,而不是整个功能。
无论如何,作为对这项调查的早期回应的结果,我们已经在 pgAdmin v6.12 中改进了自动完成功能,并根据许多人的要求使自动完成菜单自动出现在编辑器的按键上。

最后,我们询问了新的云部署功能的使用情况。目前 pgAdmin 支持 RDS on AWS、Azure Database for PostgreSQL 和相对较新的 EDB BigAnimal。不出所料,RDS 最常用,其次是 Azure,然后是 BigAnimal。请求最多的额外云是 Google,其次是 Heroku,然后是 Digital Ocean。我们已经计划添加对 Google Cloud SQL for PostgreSQL 的支持。
文档
只有 33% 的用户从 pgAdmin 中阅读 pgAdmin 文档,而大多数人使用该网站(就像你谦虚的作者倾向于做的那样)。将近 20% 的人承认从未阅读过文档!
很少有用户下载文档,但是在下载文档的用户中,PDF 是最流行的格式。不过,超过 5% 的人确实使用 ePub 格式,这让我感到惊讶。虽然它基本上是零努力生产,所以我怀疑我们会很快停止这样做,即使相对较少的人使用它。
注释
在调查的每个部分结束时,我们都提供了一个评论框,以便受访者可以自由输入他们可能有的任何其他评论。事后看来,这可能不是最好的主意,因为我们在整个过程中看到了关于不同主题的无数评论,尤其是在调查流程的开始阶段。这可能是因为您看不到稍后是否会有另一个评论部分。
也就是说,我们确实以评论的形式收到了很多反馈,我将在这里总结其中的一些:
- 一些用户(大概只有那些使用桌面模式的用户)表示希望回到像 pgAdmin III 那样的传统桌面应用程序。对不起,但这不会发生。很明显,我们有很多人在服务器模式下运行,这正是我们在设计 pgAdmin 4 时所希望的,并且支持桌面和服务器模式对于本机桌面应用程序是不可行的。
- 有人抱怨桌面模式下的速度。那些使用 pgAdmin 4 早期版本的人可能还记得我们最初有一些与速度相关的令人讨厌的问题,我们努力使事情变得更快。速度(尤其是在启动时)总是会比本地桌面应用程序慢,但我们继续努力加快速度,最近的更改致力于删除从未使用过的插件架构,以及例如,清理不受支持的 PostgreSQL 版本的旧代码。
- 在更积极的方面,有各种赞扬现代版本的 pgAdmin 的评论,例如:
- 从 pg admin 3 返工 pgadmin 4 做得很好!
- 感谢团队提供如此有用的工具,请保持更新以添加新功能
- 这是一个很棒的工具,不断改进。
- 保持 pgADmin 滚动 - 我们每天都在使用它!
- 感谢您提供如此棒的免费软件!!
- 再次祝贺你的努力
- 一般来说,我每天都使用它,没有它会造成巨大的生产力损失。感谢开发者。
- 我们有一个数据库满足我们的天气广播系统的数据存储需求。我们必须能够直观地访问分布在 6 个模式中的大约 250 个表和 30 个左右的存储过程。pgAdmin 在这个角色中节省了无数工时,这绝对是至关重要的。我每周都使用 pgAdmin4,我无法想象没有这个出色的数据库可视化工具的生活。
- 许多人提到了一个已知的错误,如果使用外部查询工具窗口并右键单击它们,pgAdmin 会崩溃。不幸的是,这是 NWjs 中的一个错误,尚未修复,但我们将更加努力地在我们的代码中提出一个解决方法,因为我认为我们没有意识到这是一个如此广泛的问题。
- 人们似乎喜欢 ERD 工具,并提出了进一步改进的各种建议。
- 对于一些认为没有必要的用户来说,主密码功能仍然是一种烦恼。这是一个难题,因为我们有一个“默认安全”策略,并且需要能够支持企业安装,其中启用/禁用安全功能的选择必须由本地 IT/安全团队负责,而不是结束用户。我们已经注意到我们至少可以在这一领域做出一项改进,并将继续寻求更多改进。恐怕默认情况下它不会被禁用,因为那样是不安全的。
结论
本次调查的受访者人数以及这篇摘要博文的长度都让我感到惊讶!我认为总的来说,我们所看到的是,随着我们在 pgAdmin 中构建新功能和增强功能,我们继续朝着正确的方向前进。调查结果有助于证实我们将精力和资源集中在正确的方向上,并揭示了一些需要更多关注的领域。
我们的最终目标是继续为 PostgreSQL 构建领先的开源管理工具,并平衡我们所有用户通常不同的需求。有时当然,这意味着有些人不会开心,但我们会继续尽最大努力确保我们始终致力于让最大数量的用户受益的事情。
最后,我要感谢所有花时间帮助我们完成这项调查的人!
《pgAdmin User Survey 2022》 报告下载:https://www.modb.pro/doc/90850
文章来源:https://www.enterprisedb.com/blog/pgadmin-user-survey-2022




