如果您使用的是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扩展的特性和好处非常重要。
Tags
本文:https://architect.pub/postgresql-frequently-used-open-source-extensions