PostgreSQL 查询配置

Version 23.4.8801


PostgreSQL 查询配置


Select 操作从 PostgreSQL 检索数据并将其带入知行之桥。

表单和列

如果为 PostgreSQL 端口选择 Select,则必须从 PostgreSQL 中选择一个(或多个)目标表。 单击 表格 面板上方的 + 添加 按钮。

一个模态框出现并列出所有可用的表格。 选择所需的表并单击+ 添加

选定的表出现在 表格 面板下,表中的列出现在 面板下。 端口会自动检测具有特殊相关性的值(例如主键、外键等)并相应地标记它们。

默认情况下,所有列都被选中以包含在 PostgreSQL 端口的操作中。 你可以通过取消选中来删除单个列。

注意:你可以通过单击+ 添加 并重复此过程来选择更多表。 有关详细信息,请参阅 子表

过滤规则

选择表后,你可以选择使用 过滤规则 面板来筛选端口选择的数据。 端口将你的过滤规则转换为 Select 语法,语法显示在端口配置页面底部的 查询 面板中。

注意:过滤器功能是可选的,如果你的数据不适合你的用例,你不必对它应用过滤器。

创建过滤规则

要创建过滤规则,请按照下列步骤操作:

  1. 点击添加规则
  2. 在新规则的下拉列表中,选择要过滤的列。
  3. 出现两个新字段。 在新的下拉列表中,选择过滤条件。
    • 可用的过滤条件取决于你选择的列的数据类型。 例如,“long”数据类型具有 Greater Than 条件,而“string”数据类型则没有。
  4. 如果你选择的过滤条件需要一个值,请在空白值字段中输入该值。 如果你选择的过滤条件不需要值(例如,如果你选择 Is Null),则值字段将消失。
  5. 过滤规则完成后,其背景会从红色变为白色。

下图显示了名为 Author 的列上的过滤规则示例。 有了这个过滤规则,端口只选择 Author 列中包含值 Smith 的值。

过滤组

你可以通过单击添加规则 并创建更多规则来将多个过滤规则应用于你的端口。 过滤规则按组分隔,所有过滤规则默认属于同一个组。 你可以通过单击添加组 创建多个组来分隔过滤规则。

组中的每个过滤规则根据你在组顶部选择的选项相互交互:

  • 你可以选中 NOT 框来反转过滤条件。 例如,在上面显示的 Author 过滤器中,选中 NOT 框会指示端口选择不包含值 Smith 的 Author 值。
  • 选择 ANDOR 以确定多个过滤规则的组逻辑。
    • 如果你选择AND,则组内的每个过滤规则都必须为真,才能满足过滤条件。
    • 如果你选择 OR,则组内至少有一个过滤规则必须为真,才能满足过滤条件。 可以满足多个过滤规则,结果和只满足一个一样。

过滤组具有简单的父/子关系。 属于父组的每个过滤规则和过滤组作为过滤逻辑的单个实体存在。 例如,下面的屏幕截图显示了多个过滤组。

在此示例中,父组使用 OR 逻辑。 这意味着如果以下语句中的 任一 为真,则满足过滤条件:

  • Author 列包含值 Smith
  • Id 列等于 12
  • Title 列包含值 KitchenUpdatedAt 列大于 400

如果满足此过滤条件,则端口选择满足条件的数据并将其向下传递。

高级设置

高级设置 中,你可以配置设置以使用特定列处理记录并在成功处理行时使用特定值更新列。 这些设置对于维护和跟踪流程中的更改很有用。

从多个表中选择

PostgreSQL 端口支持通过一个操作选择多个表。可以通过以下两步实现:

  • 将额外的表指定为父表的子表。子表了解更多信息。
  • 创建多个选择配置的 PostgreSQL 端口,为每个端口分配一个不同的表,并将它们全部连接到工作流中的同一个端口。

你可以根据需要为每个子表或单个 PostgreSQL 端口分配单独的查询。有关更多信息,请参见过滤规则

知行之桥工作流示例

为 Select 配置的 PostgreSQL 端口选择表和列后,将端口放置在知行之桥工作流的开头。 下面的屏幕截图描述了一个示例流程,其中包含一个 PostgreSQL Select 端口、一个 XML Map 端口和一个 CSV 端口:

此示例工作流中的数据通过以下步骤:

  1. PostgreSQL_Select 端口从 PostgreSQL 连接中提取数据。

  2. 此数据作为 源文件 传递给 XML_Map 端口,后者映射到 的树状结构中。

  3. 来自 CSV1 端口的数据作为 目标文件 传递给 XML_Map 端口,后者映射到 目标 的树状结构。

  4. XML_Map 端口尝试自动将 元素映射到具有相同名称的 目标 元素。 你可以手动更改这些并通过将元素从 拖到 目标 来填充空白映射。

  5. 来自 CSV1 的文件已经用来自 PostgreSQL_Select 的数据进行了修改,然后向下传递来自 CSV1 的工作流。