1

postgreSQL 数据库服务器获取查询时,如何找到相关的外部数据包装器来解析查询?国外服务器到底是做什么的?

我想知道当数据库服务器获取外部表查询时发生的消息序列?

在此处输入图像描述

4

1 回答 1

2

让我们澄清一下术语。

  • 外部数据包装器是包装代码以与外部数据源通信的对象。

  • 外部服务器是指定如何定位某个外部数据源的对象。它属于外部数据包装器。

  • 用户映射是一个对象,其中包含使用外部数据源进行身份验证的凭据。它属于外部服务器和数据库用户。

  • 外部表是描述包含外部数据源中数据的对象的对象。它属于外国服务器。

因此,当用户尝试访问外部表时,PostgreSQL 知道如何访问数据源(通过属于该表的外部服务器)、如何进行身份验证(通过用户映射)以及使用哪些函数来执行此连接和交换数据(通过外部数据包装器)。

大多数外部数据包装器不需要连接到远程数据源来进行查询计划,但是在获取或发送数据时,将建立连接。

根据外部数据包装器,当查询完成或在数据库会话的生命周期内缓存时,此类连接将关闭。

于 2017-07-07T12:01:19.653 回答