PostgreSQL 2022 发展现状:13 个非 psql 工具
Posted PostgreSQLChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL 2022 发展现状:13 个非 psql 工具相关的知识,希望对你有一定的参考价值。
1 目录
1.PostgreSQL 工具:我们对 psql 有什么看法?
2.PostgreSQL 查询和管理
3.用于应用程序开发的第三方 PostgreSQL 工具
4.您使用哪些可视化工具?
5.您怎么看?
2 前言
PostgreSQL 2022 状态调查于几周前结束,我们正在努力清理和分析数据,以便为 PostgreSQL 社区提供最好的见解。
在数据库社区中,通常有两件事年复一年地引发大量讨论:性能和工具。在今年的调查中,我们稍微修改了问题,以便我们可以专注于三个特定用例和社区认为对每个用例最有用的 PostgreSQL 工具。这三个特定用例是:查询和管理、开发和数据可视化
PostgreSQL 工具:我们对 psql 有什么看法?
绝对没有!正如大多数受访者 (69.4%) 提到使用 psql 进行查询和管理所证明的那样,它是许多 PostgreSQL 用户的普遍选择,并且已经有很好的文档和社区贡献的资源 ( https://psql-tips.org/ 提供的信息就是一个很好的例子,作者是Leatitia Avrot)。
所以这让我们思考。在上面提到的三个用例中,人们经常关心通过哪些工具来与 PostgreSQL 交互?
3 PostgreSQL 查询和管理
正如我们刚才所说,psql 是迄今为止最流行的与 PostgreSQL 交互的工具。
然而,很明显,许多具有各种经验水平的用户也确实信任其他工具。
查询和管理工具
pgAdmin (35%)、DBeaver (26%)、Datagrip (13%) 和 IntelliJ (10%) IDE 获得了最多的提及。如果您一直在使用数据库,无论是否使用 PostgreSQL,其中大部分都不足为奇。最流行的 GUI(pgAdmin 和 DBeaver)是开源的并且可以免费使用。下一个更流行的 GUI(Datagrip 和 IntelliJ)按席位获得许可。但是,如果您的公司或团队已经使用 JetBrain 的工具,您也可以尝试使用这些流行的工具。
我更感兴趣的是在我期望看到的更流行的工具之后发生的提及。下一组 PostgreSQL 工具获得了社区成员的足够关注,显然有一个值得进一步研究的价值主张。如果它们在某些情况下对我(或您的)开发工作流程有所帮助,我认为值得深入挖掘。
pgcli
首先是pgcli,这是一个基于 Python 的命令行工具,也是为各种数据库创建的众多dbcli工具之一。虽然这不是psql的替代品,但它为编写 SQL 和获取结果提供了一个交互式、自动完成的界面。包括语法突出显示和对 psql 反斜杠命令的一些基本支持。如果您喜欢呆在终端中但想要更多的交互性,那么 dbcli 工具已经存在了很长一段时间,有一个很好的支持社区,并且有时可能会使数据库探索变得更容易一些。
Azure Data Studio
Azure Data Studio于 2017 年 12 月作为测试版,由 Microsoft 数据库工具团队推出,它构建在与 Visual Studio Code 相同的 Electron 平台之上。尽管主要功能集目前面向 SQL Server(出于显而易见的原因),但自 2019 年以来就可以连接到 PostgreSQL。
Azure Data Studio (ADS) 中有几个独特的功能可以与 SQL Server 和 PostgreSQL 连接一起使用,我认为值得一提。
首先,ADS 包括创建和运行基于 SQL 的 Jupyter Notebooks 的能力。通常,您必须将 SQL 包装在另一个运行时(如 Python)中,但 ADS 提供了选择“SQL”内核的选项,并在幕后处理连接和 SQL 包装。
其次,ADS 提供了无需任何插件即可将查询结果导出到 Excel 的功能。虽然(似乎)有上千种方法可以快速将结果集转换为 CSV,但生成格式正确的 Excel 文件则需要使用其他工具的插件。无论您对 Excel 有什么看法,它仍然是许多数据分析师的首选工具,并且能够轻松地提供 Excel 文件所有有用的帮助。
最后,ADS 还提供了一些使用查询结果的基本图表功能。如果您只需要对数据进行一些快速可视化,则无需设置笔记本并使用诸如 plotly 之类的图表库。我在这些功能上遇到了一些小问题(它当然不是作为一个严肃的数据分析工具),但在探索查询数据时获取一些快速图表图像用以共享会很有帮助。
Postico
对于使用 MacOS 的人,Postico是一个 GUI 应用程序,我的许多圈子都推荐它。许多人更喜欢原生 MacOS 的感觉,以及一些独特的可用性和编辑特性,这些特性使得使用 PostgreSQL 变得简单直观。
4 后起之秀
我们将通过数据给您展示可能感兴趣的其他GUI/查询工具,有一些被多次提及,甚至导致我多次点击谷歌以了解更多信息。有些是免费和开源的,而另一些则需要许可证,但提供有趣的功能,如内置数据分析功能。无论您最终是否使用其中任何一种工具,很高兴看到工具市场中的持续创新,这似乎并没有减慢我们数十年的 SQL 之旅。
无论您最终是否使用其中的任何一种工具,在市场中看到持续的创新是一件好事。在我们的SQL之旅中,这种创新似乎一直没有放缓。
译者注:以下原文中为四个外链,感兴趣的读者可以点击了解更多!
-
原型(Archetype)
-
表加(TablePlus)
-
水族数据工作室(Aqua Data Studio)
-
养蜂人工作室(Beekeeper Studio)
5 用于应用程序开发的第三方 PostgreSQL 工具
尽管 GUI/管理领域一如既往地活跃,但 PostgreSQL 最具影响力的特性之一是它的可扩展性。如果核心应用程序不能准确地提供您的应用程序需要的东西,那么很有可能有人(或某些公司)正在努力提供该功能。
提到的工具的总数量与 GUI/管理工具相似,通常分为四类:管理功能、集群监控、查询计划洞察和数据库 DevOps 工具。对于这篇博文,我们将重点关注前三个领域。
管理功能
毫不奇怪,最流行的第三方 PostgreSQL 工具往往专注于某种日常管理任务。该领域最流行的两个工具是大多数自托管 PostgreSQL 圈子的重要角色。
pgBouncer
PostgreSQL 为每个连接创建一个新进程(不是线程)。如果没有适当的调优和合适大小的服务器,数据库很快就会被计划外的使用高峰淹没。pgBouncer是一个开源连接池应用程序,可帮助管理高流量应用程序的连接使用情况。
如果您的数据库是自托管的,或者您的 DBaaS 没有为您提供某种连接池管理,那么 pgBouncer 可以安装在对您的应用程序有意义的地方,以提供更好的连接管理。
pgBackRest
显然,数据库备份是必不可少的,而且 PostgreSQL 一直都有用于备份和恢复的标准工具。但是随着数据库规模的增长和应用程序架构变得更加复杂,使用pg_dump和pg_restore更好地执行这些任务变得比预期更困难。
Crunchy Data 团队创建了pgBackRest,以帮助为企业工作负载提供具有许多必要功能的成熟备份和恢复系统。多线程备份和压缩、多存储库位置和备份恢复只是使其成通用且有价值的工具的几个功能。
集群监控
出现的第三方 PostgreSQL 工具的第二个领域通常侧重于改进数据库监控,其中包括大多数情况下的查询监控。有很多人从许多不同的角度来解决这个问题,这表明了许多开发人员和管理员在管理 PostgreSQL 时的持续需求。
pgBadger
PostgreSQL 有很多可以调整的设置和可以记录到服务器日志中的详细信息,但是没有内置的功能可以整体地分析数据。pgBadger 帮助您从服务器正在记录的所有数据生成有用的报告。
pgBadger是少数用Perl编写的流行 PostgreSQL 工具之一(出于某种原因,这让我感到惊讶),但开发人员已经竭尽全力不需要大量特定于 Perl 的模块来绘制图表和图形,而是依赖于常见的 javascript 库呈现在报告中。
pgBadger 有很多值得关注的地方,更大的 PostgreSQL 社区经常推荐它作为一个有用的、长期的服务器性能问题调试工具。
pganalyze
在过去的几年里,pganalyze越来越受欢迎。Lukas Fittl在添加新特性和功能方面做得非常出色,同时还跨各种平台提供了许多出色的 PostgreSQL 社区资源。
pganalyze是一种收费产品,它使用标准插件(例如pg_stat_statements)提供的数据,然后通过将数据发送到云服务的收集器,进而使用这些数据。如果您也使用 pganalyze 来查询日志信息(例如,长时间运行的查询),那么问题查询和索引顾问等功能可能对您的开发工作流程和用户体验非常有帮助。
查询计划分析
如果不提及帮助您更好地理解 EXPLAIN 输出的工具,关于 PostgreSQL 的讨论将是不完整的。这是很多人都在努力解决的一个领域,特别是基于他们之前对另一个数据库的经验,并且一小部分常用的有用工具越来越受欢迎,以帮助完成这项基本任务。
Depesz和Dalibo
Depesz和Dalibo 都提供了一个快速、免费的平台,用于制定 PostgreSQL 解释计划并提供有用的见解,了解哪些操作导致查询缓慢;在某些情况下,提供有用的提示来帮助加快处理速度。此外,这两个工具都提供了输出的永久链接,供您在必要时与他人共享。
pgMustard
我最喜欢的 EXPLAIN 工具之一是由Michael Christofides创建和维护的pgMustard。这是一个收费工具,但 pgMustard 提供了许多其他人没有的独特见解和功能。Michael 在社区中也做得很好,甚至最近与 Nikolay Samokhvalov一起开始了PostgreSQL 播客,我们最近与他讨论了 SQL 的所有事情。
6 您使用哪些可视化工具?
PostgreSQL现状调查的最后一个工具问题是关于人们使用的可视化工具。毫无疑问,Grafana 是获得最多选票的人,但我们可能很容易猜到这一点。
让我感到惊讶的是,接下来的两个投票最多的是 pgAdmin 和 DBeaver,这两个我们之前提到的流行的数据库 GUI 工具。可视化功能都受到一定限制,很难准确判断正在使用哪种功能将它们归类为可视化工具。
下一组工具对我来说更有趣,我想强调一些可能会激起您进一步研究兴趣的工具。
QGIS
QGIS是一个桌面应用程序,用于可视化空间数据,无论是来自 PostGIS 查询还是其他数据源。在过去的几年里,我有幸从Ryan Lambert那里了解了 GIS 数据和查询,我看到他使用这个工具进行了许多有价值和有趣的空间查询。如果您依赖 PostGIS 获取应用程序功能并存储空间数据,请查看 QGIS 如何帮助您分析工作流程。
Superset
市场上有许多数据可视化和仪表板替代方案,无论使用哪种工具,都普遍期望 PostgreSQL 能够支持。Superset是一个开源选项,它还通过 Preset.io 提供商业支持和托管选项。Superset 生态系统拥有 40 多种图表类型和充满活力的社区,有很多值得探索的地方。
Streamlit
对于那些使用 Python 进行大部分数据分析和可视化的开发人员来说,Streamlit是另一个流行的选择,可以轻松融入您现有的工作流程。Streamlit 不是用于创建仪表板的拖放式 UI,而是用于使用 Python 构建和部署数据分析应用程序的编程界面。从 2022 年 7 月起,您可以使用 Streamlit.io 部署公共数据应用程序。
7 您怎么看?
社区为这三个问题提供了很多有趣的答案和建议。很明显,全世界有很多人致力于帮助开发人员和数据库专业人员在许多常见任务中提高工作效率。
此列表中是否有让您感到惊喜的工具或您认为有哪些未列入列表的工具?在Slack、我们的论坛或 Twitter ( @timescaleDB ) 上联系我们,分享对您的日常 PostgreSQL 工作流程很重要的其他工具!
8 阅读报告
既然我们已经让您体验了我们的调查结果,您是否想了解更多关于 PostgreSQL 社区的信息?如果您想了解有关 PostgreSQL 2022 状态的更多见解,包括受访者选择 PostgreSQL 的原因、他们对行业事件的看法以及他们会向朋友和同事推荐哪些信息源,请不要错过我们的完整报告。阅读并直接了解 2022 年 PostgreSQL 的状态(https://www.timescale.com/state-of-postgres/2022)。
译者注:本文多处涉及外链,想要获取更多信息的读者可以查看原文:)
前期回顾:
PostgreSQL 2022发展状态—初步发现点击文章阅读详情https://mp.weixin.qq.com/s/hkLZUZ14tlDII0UnG4fLDg
以上是关于PostgreSQL 2022 发展现状:13 个非 psql 工具的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 13.4, 12.8, 11.13, 10.18, 9.6.23, and 14 Beta 3发布了