【.com快译】PostgreSQL(简称Postgres)功能众多,开箱即用,深受开发者和数据库工程师的欢迎。作为一个开源产品,Postgres不仅拥有强大的开发者社区,而且还附带了很多附加组件。为了方便您快速为Postgres添加各种新的工具和插件,也为了让您能够扩展现有Postgres数据库系统的功能,本文总结了六十种工具、插件和附加组件,希望对您有所帮助您可以快速、有效地提升现有的Postgres运维方式和服务性能。图形用户界面(GUI)虽然Postgres没有自带GUI,但您可以通过以下特定的基??于Web的GUI和工具轻松管理Postgres数据库。1.DataGrip是一个可以帮助简化多个数据库管理的工具。DataGrip与包括PostgreSQL在内的各种数据库系统兼容。通过它提供的图形界面,您不仅可以管理数据库,还可以运行查询和完成各种日常维护任务。2、最新版DBeaverDBeaver-7.1.4,具有直观的数据编辑功能。同时,它可以支持PostgreSQL,以及许多其他类型的数据库系统。3.NavicatforPostgreSQLNavicat深耕数据库领域多年。其Postgres产品旨在为用户提供管理复杂数据库所需的工具。同时还提供了原生的数据可视化工具。4.PgAdmin在简化Postgres维护管理方面,pgAdmin可谓老牌产品。今天,它不仅是一个基于Web的选项,支持外部配置文件,而且还运行在云端。虽然它可以用来管理数据库集群,但与完整的GUI相比,pgAdmin还是有点粗糙。5.ValentinaStudioforPostgreSQLValentinaStudio支持多种形式,可以与CI/CD管道集成,还可以简化数据库之间的数据传输。它有不同的版本,但即使是免费版也能够管理多个Postgres数据库。6.phpPgAdminphpMyAdmin之于MySQL,就像phpPgAdmin之于PostgreSQL。两者在功能上有相似之处和不同之处。7.Metabase是一个具有高级用户界面的数据处理工具。Metabase不仅可以完成复杂的查询,还可以使用户以可视化的方式从PostgreSQL数据库中收集潜在的数据关系。8.SlemmaSlemma不仅仅是为Postgres提供GUI。通过引入自动化,可以根据参数与数据之间的关系,自动生成可视化的数据报表。9.作为一个特殊的GUI工具,WindwardStudios可以与MicrosoftOffice原生集成。您可以使用Office应用程序设计报告模板,并使用存储在Postgres中的数据来可视化报告。实用程序Postgres实用程序通常设计用于处理特定需求。可以公平地说,当良好的实用程序集成到数据库管理工作流中时,数据库工程师的工作比以往任何时候都容易。以下是当今可用的一些更流行的实用程序。1.pg_catcheck众所周知,系统目录的损坏会导致您丢失数据条目以及一些有价值的信息。而pg_catheck可以监控系统目录是否损坏,是否会因为某种原因导致整个Postgres数据库宕机。2.pgBouncer顾名思义,pgBouncer可以像保镖一样防止任何未经授权的访问。它经常被用作负载均衡器来管理各种连接。同时,你可以用它来存储密码,加密SCRAM密钥,从而保证Postgres的安全。3.HypoPGHypoPG可以在不消耗任何云资源的情况下构建虚拟索引,并且可以处理假设的分区。4.PostGISPostGIS可以提供对空间信息的原生支持。Postgres用户可以使用PostGIS为应用程序提供查询中的准确位置信息。5.Postgres_fdwPostgres_fdw使外部数据包装器能够轻松访问外部Postgres数据库。也就是说,您可以使用来自其他数据库的对象,而无需内部和外部的真正同步。安装实用程序后,您可以创建外部服务器对象和相应的用户映射。6.DBDocforPostgreSQLDBDocforPostgreSQL可以为您开发的项目创建相应的文档。PlatformasaService(PaaS)如今,许多开发团队希望以“零管理”的方式支持部署在云架构中的Postgres。在这方面,以下PaaS提供了功能齐全但略有不同的数据库托管服务。1.AmazonRDSforPostgreSQLAmazon的RDS提供云关系数据库作为托管服务。它允许用户充分使用Postgres提供的功能,而无需考虑存储、部署周期、可用性和备份问题。2.AivenforPostgreSQLAivenforPostgreSQL提供了一个完全托管的SQL数据库。它可以在AWS、GCP、Azure和其他云生态系统上运行,以提高数据库可用性。在切换到最适合您需求的付费版本之前,您可以免费试用该平台。3.CloudSQLforPostgreSQLCloudSQLforPostgreSQL是谷歌云关系型数据库的版本。它与其他GCP服务很好地集成。同时,通过完善的API,支持运行在多云环境中的应用。4.AzureDatabaseforPostgreSQL微软还提供了可扩展的AzureDatabaseforPostgreSQL。由于支持机器学习,此PaaS提供了各种智能功能和性能。5.DigitalOceanManagedDatabasesDigitalOceanManagedDatabases具有一定的价格优势,起步价仅为每月15美元。它具有易于设置、无缝运维、每日备份和多重冗余等特性,旨在支持各种应用程序和微服务。6.HerokuPostgreSQLHerokuPostgreSQL虽然提供了全面的Postgres功能,但不会让整个平台过于臃肿和复杂。它在美国和欧洲销售。应用领域目前很多工具都是为了简化Postgres数据库的设计、关系的创建、表的管理,以及整个PostgreSQL平台的搭建。下面,我们讨论两个用于端到端数据库设计和管理的Postgres应用程序。1.agileBaseAgileBase以代码量少(甚至没有代码)着称。您不必成为数据库专家即可构建自己的平台来支持应用程序交付。由于agileBase将其PostgreSQL功能设计为“构建块”,因此您可以根据需要自定义它们。2.Dataedo您可以通过Dataedo简单的用户界面来管理最复杂的Postgres数据库。它不仅可以直观地显示数据关系,还可以对其进行编辑。高可用在实际应用中,我们往往需要在一个高可用的环境中实现PostgreSQL数据库,避免因数据库故障导致整个应用系统崩溃。同时,我们可以通过以下工具持续监控PostgreSQL的可用性。1.PostgreSQLDashboard根据PostgreSQLDashboard提供的关键指标,我们无需手动浏览日志即可轻松了解数据库的可用性。同时,凭借其直观的洞察力,我们还可以通过改进云架构来提高数据库系统的可靠性。2、StolonStolon是一个原生的PostgreSQL管理工具。它专为轻松实现高可用性而设计。通过提供对Kubernetes的原生支持和自动服务发现等功能,Stolon允许多个数据库实例同时运行并提供冗余。3.PostgreSQLAutomaticFailoverPostgreSQLAutomaticFailover(PAF)是基于高可用性行业标准——Pacemaker开发的。只需配置一次PAF,定义recovery_target_timeline、standby_mode等参数,即可为PostgreSQL数据库提供高可用。备份云生态虽然可以提供高可用,但是数据库的日常备份在我们的日常操作中也是必不可少的。下面,让我们讨论一些可以轻松自动化Postgres备份的工具。1.Barman作为PostgreSQL完整的容灾解决方案,Barman提供热备份和冷备份的无缝管理。它不仅支持回滚,还可以根据配置的参数自动生成数据库状态的快照。更重要的是,Barman可以同时管理在多个云环境中运行的数据库。2、pg_probackup作为Postgres的一个简单的备份工具,简化了数据库集群中的备份过程。不仅支持多任务并行,还支持数据库文件去重等功能。命令行界面(CLI)虽然大多数PostgreSQL管理工具都提供了GUI,但一些开发人员仍然喜欢使用命令行界面来批量完成某些操作。下面,我们将看一下在终端上运行Postgres命令的两个最流行的工具。1.Pgcli顾名思义,Pgcli是Postgres的命令行界面。它可以为用户提供非常详细的信息和愉快的体验。例如,当你输入\d参数时,它会直观地为你显示数据表,并为每一行代码标上序号。2、pgsh除了提供类似Pgcli的功能外,还可以管理数据库迁移等任务。您可以选择JavaScript和Python作为您的首选语言。当然,前者在生产环境中的应用更为广泛。事实上,数据库系统的性能在很大程度上取决于集群的可靠性。下面,我们将讨论两种用于创建和管理可扩展PostgreSQL集群的工具。1.Postgres-XLPostgres-XL可以通过原生使用负载平衡和多节点来支持OLTP的写入密集型工作负载。无论您的关系数据库有多复杂,Postgres-XL都可以创建和优化完美的数据库集群。2、AgensGraph与复杂的PostgreSQL数据库无缝交互,AgensGraph使用图形化查询语言提高数据库集群的整体性能。监控虽然大多数云服务提供商都为开发和运维人员提供了AWSCloudWatch等监控工具,但往往无法真正提供PostgreSQL详细的性能信息。为此,我们可以选择以下监控管理工具。1.Datasentinel既可以在本地使用,也可以在云端使用Datasentinel可以显示关键指标,例如:SQL统计信息、SQL活动的合并视图和会话工作负载。同时,还可以实时采集数据,处理各种历史数据。2.PostgreSQLDashboardPostgreSQLDashboard通过提供一个简单的仪表盘,可以快速分析PostgreSQL的各项指标。虽然它的用户界面缺少自定义选项,但用户使用和设置都很方便。因此,该工具更适合用于快速监控而不是深入分析。3.Pgbadger是一个快速可靠的日志分析器,内置可视化工具。Pgbadger允许用户设置只报告特定的错误和事件,从而有针对性地对数据库进行取证和详细监控。4.Pgcluu是一个技术含量很高的工具。Pgcluu可以将PostgreSQL集群节点的详细数据可视化,方便用户持续监控数据库乃至系统的性能。5.PostgresatsPostgresats集统计信息的收集、显示和分析于一体。由于采用PHP和HTML5开发,部署时不会占用大量云资源。与PostgreSQLDashboard类似,这个包不仅轻量级,还可以让用户快速了解数据库的性能状态。6.PoWAPPostgreSQLWorkloadAnalyzer(PoWA)不仅可以分析数据库集群的工作负载和性能,还支持用于创建假设索引的扩展。7、check_postgresCheck_postgres可以灵活地与Nagios、MRTG结合,实现对数据库指定属性的详细监控和配置的深入检查。扩展作为一个非常流行的数据库系统,PostgreSQL可以根据不同的特定功能集成许多自定义扩展。让我们在下面讨论一些更流行的扩展。1.OpenFTS开源全文搜索引擎(OpenFTS)可以处理在线索引并启用搜索引擎等功能。它不仅可以根据预先确定的指标对数据库的搜索结果进行排序,还可以使用过滤器来优化搜索结果。2.AppOSAppOS不仅简化了Postgres用户的存储管理,还可以用来创建高效和可预测的数据库框架。3、PostPic为了使PostgreSQL数据库中的图像处理功能在应用中发挥作用,PostPic可以配合PostGIS对空间数据和图像进行深度处理。4.Swarm64是优化类型的扩展。Swarm64可以提高数据的加载速度,优化存储空间的利用率,进而提高Postgres数据库的查询速度。5、CyanAudit顾名思义,用PL/SQL编写的CyanAudit主要负责审计DML请求,并在不影响数据库性能的情况下进行深入的日志记录。6.Timescale在关系数据库系统中收集时间序列数据,Timescale可以在不牺牲PostgreSQL性能的情况下堆叠包括关系查询和时间序列查询在内的各种复杂查询。7.Prefix在电话领域经常被用作前缀,可以提供各种自定义的前缀模式。例如:它既验证数据库的各个条目,又将它们与主键prefix_range进行比较。8.PG-StormPG-Storm旨在加速数据库的分析和批处理操作。如果您的集群使用NVME-SSD和GPU,此扩展可以加速PostgreSQL分析例程。9.PG-ThemisPG-Themis是一个使用Themis库进行加密和解密的PostgreSQL扩展。您可以在SQL查询中添加加密和解密命令以确保最大的安全性。商业智能存储在数据库中的数据需要为业务发挥应有的价值。为了以商业智能的方式处理和利用数据,我们通常使用以下工具和高级算法将数据分析的见解显示在仪表板上。1.Chartio作为仪表板,Chartio可以与PostgreSQL数据库紧密配合。由于Chartio非常易于使用,您无需成为数据专家即可执行以下操作:查询和转换SQL条目。2.SeekTableSeekTable允许您按需访问各种商业智能工具。SeekTable是处理事件敏感数据和按需创建报告的理想选择。通常,您可以在不导入现有PostgreSQL数据库的情况下使用各种数据条目。3.UbiqUbiq是一款专业的商业智能与PostgreSQL集成的工具。它可在云端或本地运行,并提供高级报告,其中包括有关重复查询、自定义字段使用等的信息。集群前面提到,我们可以通过云架构和增加节点来提高数据库集群的可扩展性和高可用性。以下工具恰好可以帮助您更好地控制数据库集群。1.YugabyteDBYugabyte是一个高性能的开源分布式SQL数据库,支持全球云原生应用。此类应用往往不仅可以提供兼容PostgreSQL的API,还可以分布部署在多个地理位置。这个工具非常适合那些希望通过云原生技术来管理数据库架构的企业。相应地,企业可以提供灵活的SQL数据建模和各种事务处理功能。2.GridSQLGridSQL是为PostgreSQL设计的。由于Postgres数据库可以分布在多台服务器上,GridSQL可以让数据库实现更快的查询、更短的响应时间、更高的性能,以及访问更多的服务器资源。3.HyperscaleHyperscale,也称为Citus,是Azure用户的原生扩展。用户可以通过Hyperscale轻松实现独立于集群的水平扩展,例如在100多个节点上部署一个Postgres数据库。优化PostgreSQL数据库的优化往往需要基于持续的监控,而不是一蹴而就。以下优化工具可以帮助您详细了解PostgreSQL数据库在支撑应用过程中的性能瓶颈。1.PGHeroPGHero集成了持续监控功能和数据库健康检查功能,可以提供诸如:CPU(和云资源)使用率预测、更好的可扩展性、自动清理以及各种内置的数据库维护工具。2.作为为PostgreSQL设计的综合监控解决方案,pgDash可以展示PostgreSQL数据库所需的所有核心报表,可视化各种功能和指标,创建详细的时序图,分析最新数据,运行重要的诊断程序。3.PGTunePGTune可以在部署Postgres数据库时为您计算出真实的服务器需求,以便您支付合理的费用。4.PGMustardPGMustard可以帮助用户找到那些需要长时间处理和占用更多服务器资源的查询,以便您在将PostgreSQL部署到生产环境之前及时发现性能瓶颈并优化查询。5、虽然PGConfig与PGTune非常相似,但是PGConfig提供了其他的配置项来帮助用户模拟不同的情况。例如,您可以根据服务器配置或系统需求找到work_mem和checkpoint相关的配置。原标题:60+TopPostgreSQLTools,作者:StefanThorpe
