postgreSQL 数据库服务器获取查询时,如何找到相关的外部数据包装器来解析查询?国外服务器到底是做什么的?
我想知道当数据库服务器获取外部表查询时发生的消息序列?
让我们澄清一下术语。
外部数据包装器是包装代码以与外部数据源通信的对象。
外部服务器是指定如何定位某个外部数据源的对象。它属于外部数据包装器。
用户映射是一个对象,其中包含使用外部数据源进行身份验证的凭据。它属于外部服务器和数据库用户。
外部表是描述包含外部数据源中数据的对象的对象。它属于外国服务器。
因此,当用户尝试访问外部表时,PostgreSQL 知道如何访问数据源(通过属于该表的外部服务器)、如何进行身份验证(通过用户映射)以及使用哪些函数来执行此连接和交换数据(通过外部数据包装器)。
大多数外部数据包装器不需要连接到远程数据源来进行查询计划,但是在获取或发送数据时,将建立连接。
根据外部数据包装器,当查询完成或在数据库会话的生命周期内缓存时,此类连接将关闭。