PostgreSQL create extenstion 创建扩展逻辑分析
PostgreSQL 支持 create extenstion 语法创建扩展,扩展能够很方便地将第三方开发的插件集成到 PostgreSQL 数据库中,比如时序数据库 timescaledb 就是作为 PG 的一个扩展集成到数据库系统中,让 PG 能够支持更加强大的时序数据的存储与查询能力。
使用 psql 连接到 pg server,执行创建扩展的语句,如下:
CREATE EXTENSION timescaledb;
上述创建扩展的语句,在 PG 源码中的函数调用关系如下:
PostgresMain()
->exec_simple_query()
->PortalRun()
->PortalRunMulti()
->PortalRunUtility()
->ProcessUtility()
->loader_process_utility_hook() 位于 timescaledb
->standard_ProcessUtility()
->ProcessUtilitySlow()
->CreateExtension()
->CreateExtensionInternal()