【数据库架构】PostgreSQL常用的开源扩展

Chinese, Simplified

如果您使用的是PostgreSQL,您可以利用优秀的开源扩展来根据您的业务需求增强或添加功能。这些扩展是由其社区积极开发的,这些社区与PostgreSQL社区本身是分开的。PostgreSQL有数百个OSS扩展,其中许多是在生产环境中实现的。

尽管它们功能强大,但要检查规范并验证其行为以做出符合您需求的最佳选择并不容易。本文介绍富士通客户和普通用户经常使用的OSS扩展。这可以作为选择OSS扩展的指南。

PostgreSQL社区简介

PostgreSQL相关社区有两种类型:

  • 开发社区
    • 除了PostgreSQL本身的开发社区之外,每个OSS扩展都有一个开发社区。
  • 促进PostgreSQL广泛使用的社区
    • 世界各地都有PostgreSQL用户组。

富士通热衷于与PostgreSQL社区合作。我们的一些员工是PostgreSQL开发社区的积极贡献者,我们的一名员工作为PostgreSQL企业联盟的董事会成员。富士通还赞助各种活动,如PGDay Down Under、PGDay Asia和PGCon。

常用OSS扩展

下面的列表显示了PostgreSQL经常使用的OSS扩展。该分类基于非功能需求的概念,包括性能、可扩展性、可操作性、监控、可用性、兼容性和安全性。

可操作性

  • pg_bulkload-提供高速加载大量数据的能力。
  • pg_rman—支持备份操作,如备份/恢复简化和备份生成管理。
  • pgBackRest—备份/恢复管理工具,提供多线程格式的数据库备份和高速备份所需的功能。
  • Barman—备份/恢复管理工具,简化了PostgreSQL的时间点恢复过程,集中管理多个数据库集群的时间点备份。
  • pg_repack-通过重新组织臃肿的表和索引,删除不必要的区域并重新排列行。由于它持有锁的时间很短,因此可以在正常业务操作期间使用。
  • pgAdmin-简化数据库对象的创建、维护和使用的图形用户界面。

可扩展性

  • pg_bigm-通过名为2-gram(bigram)的方法为全文搜索创建索引,允许对字符串进行高速搜索。
  • PostGIS-允许用户使用SQL管理、编辑、搜索和计算地理空间信息。
  • oracle_fdw-提供从PostgreSQL访问oracle表和视图的外部数据包装器。在此查看如何使用Oracle_fdw链接到Oracle数据库。
  • PostgreSQL JDBC驱动程序-提供用于从Java连接到PostgreSQL的API。
  • psqlODBC-PostgreSQL的ODBC驱动程序,提供用于从Microsoft Access、Microsoft Excel等连接到PostgreQL的API。
  • Npgsql-一个.NET数据提供程序,提供用于从Microsoft.NET连接到PostgreSQL的API。

性能

  • pg_hint_plan-通过在查询中指定提示子句,在不更改SQL语句或GUC参数的情况下控制执行计划。
  • pg_dbms_stats-管理PostgreSQL统计信息并间接控制执行计划。
  • PgBouncer-在PostgreSQL服务器和客户端之间运行的软件。提供连接池功能。

监测

  • check_postgres-监视数据库运行状况并报告异常情况。
  • pgBadger-分析PostgreSQL日志文件并生成统计报告,如SQL执行状态。
  • pg_statsinfo-定期收集和累积PostgreSQL操作统计信息,以监控数据库操作。生成累积信息的文本报告。
  • pg_stats_reporter-根据pg_statsinfo获取和累积的信息生成HTML格式的图形报告。

可用性

  • pgpool II-在PostgreSQL服务器和客户端之间运行的软件。提供连接池、负载平衡、复制和自动故障切换等功能。

兼容性

  • orafce—提供与Oracle数据库兼容的函数和数据类型等兼容性。
  • ora2pg-支持从Oracle迁移到PostgreSQL的工具。从Oracle数据库读取对象定义和数据,并将其转换为PostgreSQL可执行的格式。

安全

  • pgaudit-使用PostgreSQL的日志功能获取审计日志。

有关每个OSS扩展规范的详细信息,请参阅其网站。

按类别映射

PostgreSQL特性和OSS扩展的分类和映射如下所示。

从上图中,您可以看到用于可伸缩性、可操作性和监控的OSS扩展的数量非常多。这是因为这些扩展是作为一个组件或工具提供的,可以嵌入到PostgreSQL主体中,以执行重要任务,例如使PostgreSQL与各种应用程序的API兼容,将PostgreSQL链接到各种外部数据,或者根据各种需求和操作模式调整PostgreSQL。

为了根据您的业务需求选择最佳的OSS扩展,了解每个OSS扩展的特性和好处非常重要。

 

SEO Title
PostgreSQL frequently used open source extensions