跳至内容

Postgres 节点#

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

本页面列出了Postgres节点支持的操作列表及相关资源链接。

Credentials

关于设置身份验证的指导,请参考Postgres credentials

该节点可用作AI工具

该节点可用于增强AI智能体的能力。以这种方式使用时,许多参数可以自动设置,或由AI引导信息进行配置 - 更多详情请参阅AI工具参数文档

操作#

删除#

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

输入以下参数:

  • 用于连接的凭证: 创建或选择一个现有的Postgres凭证
  • 操作: 选择删除.
  • Schema: 选择包含您要操作的数据表的模式。选择从列表从下拉列表中选择模式,或选择按名称输入模式名称。
  • 表格: 选择您要操作的数据表。选择从列表可从下拉菜单中选择表格,或选择按名称直接输入表名。
  • Command: The deletion action to take:
    • Truncate: Removes the table's data but preserves the table's structure.
      • 重置序列: 是否在清空表时将自增列重置为其初始值。
    • Delete: Delete the rows that match the "Select Rows" condition. If you don't select anything, Postgres deletes all rows.
      • 选择行: 定义运算符来匹配行。
      • 组合条件: 如何在"选择行"中组合条件。AND要求所有条件都为真,而OR则要求至少一个条件为真。
    • Drop: 永久删除表的数据和结构。

删除选项#

  • Cascade: 是否同时删除所有依赖于该表的对象,如视图和序列。仅在使用了TruncateDrop命令时可用。
  • 连接超时: 尝试连接数据库的秒数。
  • 延迟关闭空闲连接: 在认为空闲连接符合关闭条件前等待的秒数。
  • Query Batching: The way to send queries to the database:
    • 单次查询: 对所有传入项执行单次查询。
    • 独立执行: 为执行流程中的每个传入项单独执行查询。
    • 事务: 在事务中执行所有查询。如果发生故障,Postgres将回滚所有更改。
  • Output Large-Format Numbers As: The format to output NUMERIC and BIGINT columns as:
    • 数字: 用于标准数值类型。
    • 文本: 如果预期数字超过16位,请使用此选项。若不启用,数字可能显示不正确。

执行查询#

使用此操作执行SQL查询。

输入以下参数:

  • 用于连接的凭证: 创建或选择一个现有的Postgres凭证
  • 操作: 选择 执行查询.
  • 查询: 要执行的SQL查询。您可以使用n8n 表达式和诸如$1$2$3之类的标记来构建预处理语句,以便与查询参数一起使用。

执行查询选项#

  • 连接超时: 尝试连接数据库的秒数。
  • 延迟关闭空闲连接: 在考虑关闭空闲连接之前等待的秒数。
  • Query Batching: The way to send queries to the database:
    • 单次查询: 对所有传入项执行单次查询。
    • 独立执行: 为执行的每个传入项执行一个查询。
    • 事务: 在事务中执行所有查询。如果发生故障,Postgres将回滚所有更改。
  • 查询参数: 一个逗号分隔的值列表,您希望将其用作查询参数
  • Output Large-Format Numbers As: The format to output NUMERIC and BIGINT columns as:
    • 数字: 用于标准数值类型。
    • 文本: 如果预期数字超过16位,请使用此选项。若不启用,数字可能显示不正确。
  • 将空字符串替换为NULL: 是否在输入中将空字符串替换为NULL。这在处理从电子表格软件导出的数据时可能很有用。

插入#

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

输入以下参数:

  • 用于连接的凭证: 创建或选择一个现有的Postgres凭证
  • 操作: 选择 插入.
  • Schema: 选择包含您要操作的数据表的模式。选择从列表从下拉列表中选择模式,或选择按名称输入模式名称。
  • 表格: 选择您要操作的数据表。选择从列表可从下拉菜单中选择表格,或选择按名称直接输入表名。
  • Mapping Column Mode: How to map column names to incoming data:
    • 手动映射每列: 选择每列要使用的值。
    • 自动映射: 自动将传入数据映射到Postgres中匹配的列名。传入数据的字段名称必须与Postgres中的列名匹配才能生效。如有需要,可考虑在此节点前使用编辑字段(设置)节点来按需调整格式。

插入选项#

  • 连接超时: 尝试连接数据库的秒数。
  • 延迟关闭空闲连接: 在考虑关闭空闲连接之前等待的秒数。
  • Query Batching: The way to send queries to the database:
    • 单次查询: 对所有传入项执行单次查询。
    • 独立执行: 为执行的每个传入项执行一个查询。
    • 事务: 在事务中执行所有查询。如果发生故障,Postgres将回滚所有更改。
  • 输出列: 选择要输出的列。您可以从可用列列表中选择或使用表达式指定ID。
  • Output Large-Format Numbers As: The format to output NUMERIC and BIGINT columns as:
    • 数字: 用于标准数值类型。
    • 文本: 如果预期数字超过16位,请使用此选项。若不启用,数字可能显示不正确。
  • 冲突时跳过: 如果插入违反唯一或排除约束时是否跳过该行,而不是抛出错误。
  • 将空字符串替换为NULL: 是否在输入数据中将空字符串替换为NULL。这在处理从电子表格软件导出的数据时可能很有用。

插入或更新#

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

输入以下参数:

  • 用于连接的凭证: 创建或选择一个现有的Postgres凭证
  • 操作: 选择 插入或更新.
  • Schema: 选择包含您要操作的数据表的模式。选择从列表从下拉列表中选择模式,或选择按名称输入模式名称。
  • 表格: 选择您要操作的数据表。选择从列表可从下拉菜单中选择表格,或选择按名称直接输入表名。
  • Mapping Column Mode: How to map column names to incoming data:
    • 手动映射每列: 选择每列要使用的值。
    • 自动映射: 自动将传入数据映射到Postgres中匹配的列名。传入数据的字段名称必须与Postgres中的列名匹配才能生效。如有需要,可考虑在此节点前使用编辑字段(设置)节点来按需调整格式。

插入或更新选项#

  • 连接超时: 尝试连接数据库的秒数。
  • 延迟关闭空闲连接: 在考虑关闭空闲连接之前等待的秒数。
  • Query Batching: The way to send queries to the database:
    • 单次查询: 对所有传入项执行单次查询。
    • 独立执行: 为执行的每个传入项执行一个查询。
    • 事务: 在事务中执行所有查询。如果发生故障,Postgres将回滚所有更改。
  • 输出列: 选择要输出的列。您可以从可用列列表中选择或使用表达式指定ID。
  • Output Large-Format Numbers As: The format to output NUMERIC and BIGINT columns as:
    • 数字: 用于标准数值类型。
    • 文本: 如果预期数字超过16位,请使用此选项。若不启用,数字可能显示不正确。
  • 将空字符串替换为NULL: 是否在输入中将空字符串替换为NULL。这在处理从电子表格软件导出的数据时可能很有用。

选择#

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

输入以下参数:

  • 用于连接的凭证: 创建或选择一个现有的Postgres凭证
  • 操作: 选择 选择.
  • Schema: 选择包含您要操作的数据表的模式。选择从列表从下拉列表中选择模式,或选择按名称输入模式名称。
  • 表格: 选择您要操作的数据表。选择从列表可从下拉菜单中选择表格,或选择按名称直接输入表名。
  • 返回全部: 是否返回所有结果或仅返回给定限制内的结果。
  • Limit: 当返回全部选项关闭时,返回项目的最大数量限制。
  • 选择行: 设置选择行的条件。定义运算符来匹配行。如果不做任何选择,Postgres将选择所有行。
  • 组合条件: 如何在选择行中组合条件。AND要求所有条件都为真,而OR则只需要至少一个条件为真。
  • 排序: 选择如何对选定的行进行排序。从列表或按ID选择一个,并选择排序方向

选择选项#

  • 连接超时: 尝试连接数据库的秒数。
  • 延迟关闭空闲连接: 在考虑关闭空闲连接之前等待的秒数。
  • Query Batching: The way to send queries to the database:
    • 单次查询: 对所有传入项执行单次查询。
    • 独立执行: 为执行的每个传入项执行一个查询。
    • 事务: 在事务中执行所有查询。如果发生故障,Postgres将回滚所有更改。
  • 输出列: 选择要输出的列。您可以从可用列列表中选择或使用表达式指定ID。
  • Output Large-Format Numbers As: The format to output NUMERIC and BIGINT columns as:
    • 数字: 用于标准数值类型。
    • 文本: 如果预期数字超过16位,请使用此选项。若不启用,数字可能显示不正确。

更新#

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

输入以下参数:

  • 用于连接的凭证: 创建或选择一个现有的Postgres凭证
  • 操作: 选择更新.
  • Schema: 选择包含您要操作的数据表的模式。选择从列表从下拉列表中选择模式,或选择按名称输入模式名称。
  • 表格: 选择您要操作的数据表。选择从列表可从下拉菜单中选择表格,或选择按名称直接输入表名。
  • Mapping Column Mode: How to map column names to incoming data:
    • 手动映射每列: 选择每列要使用的值。
    • 自动映射: 自动将传入数据映射到Postgres中匹配的列名。传入数据的字段名称必须与Postgres中的列名匹配才能生效。如有需要,可考虑在此节点前使用编辑字段(设置)节点来按需调整格式。

更新选项#

  • 连接超时: 尝试连接数据库的秒数。
  • 延迟关闭空闲连接: 在考虑关闭空闲连接之前等待的秒数。
  • Query Batching: The way to send queries to the database:
    • 单次查询: 对所有传入项执行单次查询。
    • 独立执行: 为执行的每个传入项执行一个查询。
    • 事务: 在事务中执行所有查询。如果发生故障,Postgres将回滚所有更改。
  • 输出列: 选择要输出的列。您可以从可用列列表中选择或使用表达式指定ID。
  • Output Large-Format Numbers As: The format to output NUMERIC and BIGINT columns as:
    • 数字: 用于标准数值类型。
    • 文本: 如果预期数字超过16位,请使用此选项。若不启用,数字可能显示不正确。
  • 将空字符串替换为NULL: 是否在输入中将空字符串替换为NULL。这在处理从电子表格软件导出的数据时可能很有用。

模板和示例#

Chat with Postgresql Database

由 KumoHQ 提供

查看模板详情
Generate Instagram Content from Top Trends with AI Image Generation

作者:mustafa kendigüzel

查看模板详情
HR & IT Helpdesk Chatbot with Audio Transcription

作者:Felipe Braga

查看模板详情
浏览Postgres集成模板, or 搜索所有模板

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

使用查询参数#

在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 ] }} 

常见问题#

关于常见问题或疑问及建议解决方案,请参阅常见问题

优云智算