1. pg_stat_statements
pg_stat_statements是PostgreSQL内置的性能分析扩展,用于跟踪服务器执行的所有SQL语句的规划和执行统计信息。它可以帮助管理员识别慢查询、高频查询及资源消耗大的SQL语句,通过pg_stat_statements
视图访问统计数据(如执行次数、总耗时、平均耗时等),是优化数据库性能的关键工具。
2. PostGIS
PostGIS是PostgreSQL的地理空间扩展,为其添加了地理数据的存储、索引和查询支持。它支持空间数据类型(如点、线、多边形)、空间索引(GIST)及丰富的地理分析函数(如距离计算、缓冲区分析、叠加分析),适用于地理信息系统(GIS)、位置服务、地图应用等场景。
3. postgres_fdw
postgres_fdw(外部数据包装器)用于访问存储在外部PostgreSQL服务器中的数据。它允许通过标准SQL语法(如SELECT
、JOIN
)透明地查询远程PostgreSQL表的 data,无需修改应用程序代码,支持跨服务器数据集成和分布式查询。
4. uuid_ossp
uuid_ossp扩展提供了生成UUID(通用唯一标识符)的功能。它支持多种UUID生成算法(如v4随机生成),可用于在数据库中创建UUID类型的列(替代传统自增ID),适用于分布式系统、数据同步等需要唯一标识的场景。
5. pg_net
pg_net扩展使PostgreSQL能够在SQL中发出异步HTTP/HTTPS请求。它支持GET、POST、DELETE等方法,可与触发器、cron作业或应用程序无缝集成,适用于需要从数据库直接调用外部API的场景(如数据同步、实时通知)。
6. pg_profile
pg_profile是PostgreSQL性能分析与监控扩展,专注于捕获SQL查询的运行时信息(如执行计划、锁等待、IO消耗)。它提供性能瓶颈分析(如慢查询定位)和优化建议(如索引推荐),帮助管理员提升数据库性能。
7. fuzzystrmatch
fuzzystrmatch扩展提供了模糊字符串匹配功能,支持Levenshtein距离(编辑距离)、Soundex(语音编码)、Dmetaphone(双音素编码)等算法。适用于需要处理拼写错误、近似匹配的场景(如姓名搜索、地址匹配)。
8. file_fdw
file_fdw是外部数据包装器,用于访问CSV、TXT等本地或远程文本文件中的数据。它允许将文件内容映射为PostgreSQL表,通过SQL查询文件数据,适用于数据导入、ETL(提取-转换-加载)等场景。
9. pg_buffercache
pg_buffercache扩展用于分析PostgreSQL的共享缓冲区使用情况。它提供视图查看缓冲区中的页面信息(如表占用空间、缓存命中率),帮助管理员优化缓冲区配置(如调整shared_buffers
参数),提升数据库性能。
10. pg_prewarm
pg_prewarm扩展用于手动将表或索引数据加载到共享缓冲区中,避免冷启动时的性能下降。适用于需要频繁访问的热数据表(如报表表、核心业务表),提升查询响应速度。