Skip to content

Postgres 节点

使用 Postgres 节点自动执行 Postgres 中的工作,并将 Postgres 与其他应用程序集成。n8n 内置支持各种 Postgres 功能,包括执行查询以及在数据库中插入和更新行。

在此页面上,您将找到 Postgres 节点支持的操作列表以及更多资源的链接。

证书

请参阅Postgres 凭证以获取有关设置身份验证的指导。

该节点可用作AI工具

此节点可用于增强 AI 代理的功能。使用此方法时,许多参数可以自动设置,或使用 AI 指定的信息进行设置 - 更多信息请参阅AI 工具参数文档

运营

删除

使用此操作可以删除整个表或表中的行。

输入以下参数:

  • 连接凭证:创建或选择现有的Postgres 凭证
  • 操作:选择删除
  • 架构:选择包含要处理的表的架构。选择“从列表”从下拉列表中选择架构,或选择“按名称”输入架构名称。
  • :选择要处理的表。选择“从列表”从下拉列表中选择表,或选择“按名称”输入表名称。
  • 命令:要执行的删除操作:
    • 截断
    • :删除表的数据但保留表的结构。
      • 重新启动序列
      • :是否在截断过程中将自动增量列重置为其初始值。
    • 删除
    • :删除符合“选择行”条件的行。如果您未选择任何内容,Postgres 将删除所有行。
      • 选择行
      • :定义
      • 要匹配行的
      • 运算符
      • 组合条件
      • :如何在“选择行”中组合条件。AND
      • 要求所有条件为真,而
      • OR
      • 要求
      • 至少一个条件为真。
    • 删除
    • :永久删除表的数据和结构。

删除选项

  • Cascade :是否同时删除所有依赖于该表的对象,例如视图和序列。使用TruncateDrop命令时可用。
  • 连接超时:尝试连接数据库的秒数。
  • 延迟关闭空闲连接:在考虑关闭空闲连接之前等待的秒数。
  • 查询批处理:向数据库发送查询的方式:
    • 单次查询
    • :所有传入项执行一次查询。
    • 独立
    查询
    • :对每个传入项执行一次查询。
    • 事务
    • :在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
  • 将大格式数字输出为:输出格式为:
    • 数字
    • :用于标准数字。
    • 文本
    • :如果您预计数字长度超过 16 位,请使用此项。否则,数字可能不正确。

执行查询

使用此操作执行 SQL 查询。

输入以下参数:

执行查询选项

  • 连接超时:尝试连接数据库的秒数。
  • 延迟关闭空闲连接:在考虑关闭空闲连接之前等待的秒数。
  • 查询批处理:向数据库发送查询的方式:
    • 单次查询
    • :所有传入项执行一次查询。
    • 独立
    查询
    • :对每个传入项执行一次查询。
    • 事务
    • :在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
  • 查询参数:要用作查询参数的值的逗号分隔列表。
  • 将大格式数字输出为:输出格式为:
    • 数字
    • :用于标准数字。
    • 文本
    • :如果您预计数字长度超过 16 位,请使用此项。否则,数字可能不正确。
  • 将空字符串替换为 NULL :是否将输入中的空字符串替换为 NULL。这在处理从电子表格软件导出的数据时可能很有用。

插入

使用此操作在表中插入行。

输入以下参数:

  • 连接凭证:创建或选择现有的Postgres 凭证
  • 操作:选择插入
  • 架构:选择包含要处理的表的架构。选择“从列表”从下拉列表中选择架构,或选择“按名称”输入架构名称。
  • :选择要处理的表。选择“从列表”从下拉列表中选择表,或选择“按名称”输入表名称。
  • 映射列模式:如何将列名映射到传入数据:
    • 手动映射每列
    • :选择每列要使用的值。
    • 自动映射
    • :自动将传入数据映射到 Postgres 中匹配的列名。传入数据的字段名称必须与 Postgres 中的列名匹配才能正常工作。如有必要,请考虑使用
    此节点前的
    • 根据需要调整格式。

插入选项

  • 连接超时:尝试连接数据库的秒数。
  • 延迟关闭空闲连接:在考虑关闭空闲连接之前等待的秒数。
  • 查询批处理:向数据库发送查询的方式:
    • 单次查询
    • :所有传入项执行一次查询。
    • 独立
    查询
    • :对每个传入项执行一次查询。
    • 事务
    • :在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
  • 输出列:选择要输出的列。您可以从可用列列表中选择,也可以使用表达式指定 ID 。
  • 将大格式数字输出为:输出格式为:
    • 数字
    • :用于标准数字。
    • 文本
    • :如果您预计数字长度超过 16 位,请使用此项。否则,数字可能不正确。
  • 冲突时跳过:如果插入违反了唯一或排除约束,是否跳过该行而不是引发错误。
  • 将空字符串替换为 NULL :是否将输入中的空字符串替换为 NULL。这在处理从电子表格软件导出的数据时可能很有用。

插入或更新

使用此操作在表中插入或更新行。

输入以下参数:

  • 连接凭证:创建或选择现有的Postgres 凭证
  • 操作:选择插入或者更新
  • 架构:选择包含要处理的表的架构。选择“从列表”从下拉列表中选择架构,或选择“按名称”输入架构名称。
  • :选择要处理的表。选择“从列表”从下拉列表中选择表,或选择“按名称”输入表名称。
  • 映射列模式:如何将列名映射到传入数据:
    • 手动映射每列
    • :选择每列要使用的值。
    • 自动映射
    • :自动将传入数据映射到 Postgres 中匹配的列名。传入数据的字段名称必须与 Postgres 中的列名匹配才能正常工作。如有必要,请考虑使用
    此节点前的
    • 根据需要调整格式。

插入或更新选项

  • 连接超时:尝试连接数据库的秒数。
  • 延迟关闭空闲连接:在考虑关闭空闲连接之前等待的秒数。
  • 查询批处理:向数据库发送查询的方式:
    • 单次查询
    • :所有传入项执行一次查询。
    • 独立
    查询
    • :对每个传入项执行一次查询。
    • 事务
    • :在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
  • 输出列:选择要输出的列。您可以从可用列列表中选择,也可以使用表达式指定 ID 。
  • 将大格式数字输出为:输出格式为:
    • 数字
    • :用于标准数字。
    • 文本
    • :如果您预计数字长度超过 16 位,请使用此项。否则,数字可能不正确。
  • 将空字符串替换为 NULL :是否将输入中的空字符串替换为 NULL。这在处理从电子表格软件导出的数据时可能很有用。

选择

使用此操作来选择表中的行。

输入以下参数:

  • 连接凭证:创建或选择现有的Postgres 凭证
  • 操作:选择选择
  • 架构:选择包含要处理的表的架构。选择“从列表”从下拉列表中选择架构,或选择“按名称”输入架构名称。
  • :选择要处理的表。选择“从列表”从下拉列表中选择表,或选择“按名称”输入表名称。
  • 返回全部:是否返回所有结果或仅返回给定限制内的结果。
  • 限制:禁用“全部返回”时返回的最大项目数。
  • 选择行:设置选择行的条件。定义用于匹配行的运算符。如果您未选择任何内容,Postgres 将选择所有行。
  • 组合条件:如何在“选择行”中组合条件。AND要求所有条件为真,而OR要求至少一个条件为真。
  • 排序:选择如何对选定的行进行排序。从列表中选择列,或按 ID选择,然后选择排序方向

选择选项

  • 连接超时:尝试连接数据库的秒数。
  • 延迟关闭空闲连接:在考虑关闭空闲连接之前等待的秒数。
  • 查询批处理:向数据库发送查询的方式:
    • 单次查询
    • :所有传入项执行一次查询。
    • 独立
    查询
    • :对每个传入项执行一次查询。
    • 事务
    • :在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
  • 输出列:选择要输出的列。您可以从可用列列表中选择,也可以使用表达式指定 ID 。
  • 将大格式数字输出为:输出格式为:
    • 数字
    • :用于标准数字。
    • 文本
    • :如果您预计数字长度超过 16 位,请使用此项。否则,数字可能不正确。

更新

使用此操作来更新表中的行。

输入以下参数:

  • 连接凭证:创建或选择现有的Postgres 凭证
  • 操作:选择更新
  • 架构:选择包含要处理的表的架构。选择“从列表”从下拉列表中选择架构,或选择“按名称”输入架构名称。
  • :选择要处理的表。选择“从列表”从下拉列表中选择表,或选择“按名称”输入表名称。
  • 映射列模式:如何将列名映射到传入数据:
    • 手动映射每列
    • :选择每列要使用的值。
    • 自动映射
    • :自动将传入数据映射到 Postgres 中匹配的列名。传入数据的字段名称必须与 Postgres 中的列名匹配才能正常工作。如有必要,请考虑使用
    此节点前的
    • 根据需要调整格式。

更新选项

  • 连接超时:尝试连接数据库的秒数。
  • 延迟关闭空闲连接:在考虑关闭空闲连接之前等待的秒数。
  • 查询批处理:向数据库发送查询的方式:
    • 单次查询
    • :所有传入项执行一次查询。
    • 独立
    查询
    • :对每个传入项执行一次查询。
    • 事务
    • :在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
  • 输出列:选择要输出的列。您可以从可用列列表中选择,也可以使用表达式指定 ID 。
  • 将大格式数字输出为:输出格式为:
    • 数字
    • :用于标准数字。
    • 文本
    • :如果您预计数字长度超过 16 位,请使用此项。否则,数字可能不正确。
  • 将空字符串替换为 NULL :是否将输入中的空字符串替换为 NULL。这在处理从电子表格软件导出的数据时可能很有用。

模板和示例

没有任何

n8n 为 Postgres 提供了一个触发节点。您可以在此处找到触发节点文档。

使用查询参数

创建在 Postgres 数据库上运行的查询时,您可以使用“选项”部分中的“查询参数”字段将数据加载到查询中。n8n 会清理查询参数中的数据,从而防止 SQL 注入。

例如,你想通过电子邮件地址查找某人。给定以下输入数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[
    {
        "email": "alex@example.com",
        "name": "Alex",
        "age": 21 
    },
    {
        "email": "jamie@example.com",
        "name": "Jamie",
        "age": 33 
    }
]

您可以编写如下查询:

1
SELECT * FROM $1:name WHERE email = $2;

然后在查询参数中,提供要使用的字段值。您可以提供固定值或表达式。在本例中,使用表达式,以便节点可以依次从每个输入项中提取电子邮件地址:

1
2
// users is an example table name
{{ [ 'users', $json.email ] }} 

常见问题

有关常见问题或问题以及建议的解决方案,请参阅常见问题