Skip to content

Postgres 节点#

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

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

凭据

请参考 Postgres 凭据 获取设置身份验证的指导。

此节点可用作 AI 工具

此节点可用于增强 AI 代理的功能。以这种方式使用时,许多参数可以自动设置,或使用 AI 指导的信息设置 - 在 AI 工具参数文档中了解更多信息。

Operations 操作#

Delete 删除#

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

输入这些参数:

  • Credential to connect with 连接凭据:创建或选择现有的 Postgres 凭据
  • Operation 操作:选择 Delete 删除
  • Schema 模式:选择包含您要操作的表的模式。选择 From list 从列表中从下拉列表中选择模式,或 By Name 按名称输入模式名称。
  • Table 表:选择您要操作的表。选择 From list 从列表中从下拉列表中选择表,或 By Name 按名称输入表名。
  • Command 命令:要执行的删除操作:
    • Truncate 截断:删除表的数据但保留表的结构。
      • Restart Sequences 重新启动序列:是否在截断过程中将自动递增列重置为其初始值。
    • Delete 删除:删除与"选择行"条件匹配的行。如果您不选择任何内容,Postgres 会删除所有行。
      • Select Rows 选择行:定义要匹配行的运算符
      • Combine Conditions 组合条件:如何组合"选择行"中的条件。AND 要求所有条件都为真,而 OR 至少要求一个条件为真。
    • Drop 丢弃:永久删除表的数据和结构。

删除选项#

  • Cascade 级联:是否也删除依赖于该表的所有对象,如视图和序列。使用 Truncate 截断Drop 丢弃命令时可用。
  • Connection Timeout 连接超时:尝试连接到数据库的秒数。
  • Delay Closing Idle Connection 延迟关闭空闲连接:在考虑空闲连接有资格关闭之前等待的秒数。
  • Query Batching 查询批处理:向数据库发送查询的方式:
    • Single Query 单个查询:为所有传入项目执行单个查询。
    • Independently 独立:为执行的每个传入项目执行一个查询。
    • Transaction 事务:在事务中执行所有查询。如果发生故障,Postgres 会回滚所有更改。
  • Output Large-Format Numbers As 输出大格式数字为:输出 NUMERICBIGINT 列的格式:
    • Numbers 数字:用于标准数字。
    • Text 文本:如果您期望数字长于 16 位,请使用此选项。否则,数字可能不正确。

Execute Query 执行查询#

使用此操作执行 SQL 查询。

输入这些参数:

  • Credential to connect with 连接凭据:创建或选择现有的 Postgres 凭据
  • Operation 操作:选择 Execute Query 执行查询
  • Query 查询:要执行的 SQL 查询。您可以使用 n8n 表达式 和像 $1$2$3 这样的标记来构建与查询参数一起使用的预处理语句

执行查询选项#

  • Connection Timeout 连接超时:尝试连接到数据库的秒数。
  • Delay Closing Idle Connection 延迟关闭空闲连接:在考虑空闲连接有资格关闭之前等待的秒数。
  • Query Batching 查询批处理:向数据库发送查询的方式:
    • Single Query 单个查询:为所有传入项目执行单个查询。
    • Independently 独立:为执行的每个传入项目执行一个查询。
    • Transaction 事务:在事务中执行所有查询。如果发生故障,Postgres 会回滚所有更改。
  • Query Parameters 查询参数:要用作查询参数的值的逗号分隔列表。
  • Output Large-Format Numbers As 输出大格式数字为:输出 NUMERICBIGINT 列的格式:
    • Numbers 数字:用于标准数字。
    • Text 文本:如果您期望数字长于 16 位,请使用此选项。否则,数字可能不正确。
  • Replace Empty Strings with NULL 用 NULL 替换空字符串:是否在输入中用 NULL 替换空字符串。这在处理从电子表格软件导出的数据时可能很有用。

Insert 插入#

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

输入这些参数:

  • Credential to connect with 连接凭据:创建或选择现有的 Postgres 凭据
  • Operation 操作:选择 Insert 插入
  • Schema 模式:选择包含您要操作的表的模式。选择 From list 从列表中从下拉列表中选择模式,或 By Name 按名称输入模式名称。
  • Table 表:选择您要操作的表。选择 From list 从列表中从下拉列表中选择表,或 By Name 按名称输入表名。
  • Mapping Column Mode 映射列模式:如何将列名映射到传入数据:
    • Map Each Column Manually 手动映射每列:选择每列要使用的值。
    • Map Automatically 自动映射:自动将传入数据映射到 Postgres 中匹配的列名。传入的数据字段名必须与 Postgres 中的列名匹配才能正常工作。如有必要,请考虑在此节点之前使用编辑字段(设置)节点来根据需要调整格式。

插入选项#

  • Connection Timeout 连接超时:尝试连接到数据库的秒数。
  • Delay Closing Idle Connection 延迟关闭空闲连接:在考虑空闲连接有资格关闭之前等待的秒数。
  • Query Batching 查询批处理:向数据库发送查询的方式:
    • Single Query 单个查询:为所有传入项目执行单个查询。
    • Independently 独立:为执行的每个传入项目执行一个查询。
    • Transaction 事务:在事务中执行所有查询。如果发生故障,Postgres 会回滚所有更改。
  • Output Columns 输出列:选择要输出的列。您可以从可用列的列表中选择或使用表达式指定 ID。
  • Output Large-Format Numbers As 输出大格式数字为:输出 NUMERICBIGINT 列的格式:
    • Numbers 数字:用于标准数字。
    • Text 文本:如果您期望数字长于 16 位,请使用此选项。否则,数字可能不正确。
  • Skip on Conflict 跳过冲突:是否在插入违反唯一或排除约束时跳过行,而不是抛出错误。
  • Replace Empty Strings with NULL 用 NULL 替换空字符串:是否在输入中用 NULL 替换空字符串。这在处理从电子表格软件导出的数据时可能很有用。

Insert or Update 插入或更新#

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

输入这些参数:

  • Credential to connect with 连接凭据:创建或选择现有的 Postgres 凭据
  • Operation 操作:选择 Insert or Update 插入或更新
  • Schema 模式:选择包含您要操作的表的模式。选择 From list 从列表中从下拉列表中选择模式,或 By Name 按名称输入模式名称。
  • Table 表:选择您要操作的表。选择 From list 从列表中从下拉列表中选择表,或 By Name 按名称输入表名。
  • Mapping Column Mode 映射列模式:如何将列名映射到传入数据:
    • Map Each Column Manually 手动映射每列:选择每列要使用的值。
    • Map Automatically 自动映射:自动将传入数据映射到 Postgres 中匹配的列名。传入的数据字段名必须与 Postgres 中的列名匹配才能正常工作。如有必要,请考虑在此节点之前使用编辑字段(设置)节点来根据需要调整格式。

插入或更新选项#

  • Connection Timeout 连接超时:尝试连接到数据库的秒数。
  • Delay Closing Idle Connection 延迟关闭空闲连接:在考虑空闲连接有资格关闭之前等待的秒数。
  • Query Batching 查询批处理:向数据库发送查询的方式:
    • Single Query 单个查询:为所有传入项目执行单个查询。
    • Independently 独立:为执行的每个传入项目执行一个查询。
    • Transaction 事务:在事务中执行所有查询。如果发生故障,Postgres 会回滚所有更改。
  • Output Columns 输出列:选择要输出的列。您可以从可用列的列表中选择或使用表达式指定 ID。
  • Output Large-Format Numbers As 输出大格式数字为:输出 NUMERICBIGINT 列的格式:
    • Numbers 数字:用于标准数字。
    • Text 文本:如果您期望数字长于 16 位,请使用此选项。否则,数字可能不正确。
  • Replace Empty Strings with NULL 用 NULL 替换空字符串:是否在输入中用 NULL 替换空字符串。这在处理从电子表格软件导出的数据时可能很有用。

Select 选择#

使用此操作从表中选择行。

输入这些参数:

  • Credential to connect with 连接凭据:创建或选择现有的 Postgres 凭据
  • Operation 操作:选择 Select 选择
  • Schema 模式:选择包含您要操作的表的模式。选择 From list 从列表中从下拉列表中选择模式,或 By Name 按名称输入模式名称。
  • Table 表:选择您要操作的表。选择 From list 从列表中从下拉列表中选择表,或 By Name 按名称输入表名。
  • Return All 返回所有:是否返回所有结果或仅返回给定限制。
  • Limit 限制:当 Return All 返回所有被禁用时返回的项目最大数量。
  • Select Rows 选择行:设置选择行的条件。定义要匹配行的运算符。如果您不选择任何内容,Postgres 会返回所有行。
  • Combine Conditions 组合条件:如何组合选择行中的条件。AND 要求所有条件都为真,而 OR 至少要求一个条件为真。
  • Sort 排序:选择如何对选定的行进行排序。从列表中选择或按 ID 排序方向

选择选项#

  • Connection Timeout 连接超时:尝试连接到数据库的秒数。
  • Delay Closing Idle Connection 延迟关闭空闲连接:在考虑空闲连接有资格关闭之前等待的秒数。
  • Query Batching 查询批处理:向数据库发送查询的方式:
    • Single Query 单个查询:为所有传入项目执行单个查询。
    • Independently 独立:为执行的每个传入项目执行一个查询。
    • Transaction 事务:在事务中执行所有查询。如果发生故障,Postgres 会回滚所有更改。
  • Output Columns 输出列:选择要输出的列。您可以从可用列的列表中选择或使用表达式指定 ID。
  • Output Large-Format Numbers As 输出大格式数字为:输出 NUMERICBIGINT 列的格式:
    • Numbers 数字:用于标准数字。
    • Text 文本:如果您期望数字长于 16 位,请使用此选项。否则,数字可能不正确。

Update 更新#

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

输入这些参数:

  • Credential to connect with 连接凭据:创建或选择现有的 Postgres 凭据
  • Operation 操作:选择 Update 更新
  • Schema 模式:选择包含您要操作的表的模式。选择 From list 从列表中从下拉列表中选择模式,或 By Name 按名称输入模式名称。
  • Table 表:选择您要操作的表。选择 From list 从列表中从下拉列表中选择表,或 By Name 按名称输入表名。
  • Mapping Column Mode 映射列模式:如何将列名映射到传入数据:
    • Map Each Column Manually 手动映射每列:选择每列要使用的值。
    • Map Automatically 自动映射:自动将传入数据映射到 Postgres 中匹配的列名。传入的数据字段名必须与 Postgres 中的列名匹配才能正常工作。如有必要,请考虑在此节点之前使用编辑字段(设置)节点来根据需要调整格式。

更新选项#

  • Connection Timeout 连接超时:尝试连接到数据库的秒数。
  • Delay Closing Idle Connection 延迟关闭空闲连接:在考虑空闲连接有资格关闭之前等待的秒数。
  • Query Batching 查询批处理:向数据库发送查询的方式:
    • Single Query 单个查询:为所有传入项目执行单个查询。
    • Independently 独立:为执行的每个传入项目执行一个查询。
    • Transaction 事务:在事务中执行所有查询。如果发生故障,Postgres 会回滚所有更改。
  • Output Columns 输出列:选择要输出的列。您可以从可用列的列表中选择或使用表达式指定 ID。
  • Output Large-Format Numbers As 输出大格式数字为:输出 NUMERICBIGINT 列的格式:
    • Numbers 数字:用于标准数字。
    • Text 文本:如果您期望数字长于 16 位,请使用此选项。否则,数字可能不正确。
  • Replace Empty Strings with NULL 用 NULL 替换空字符串:是否在输入中用 NULL 替换空字符串。这在处理从电子表格软件导出的数据时可能很有用。

Templates and examples#

Chat with Postgresql Database

by KumoHQ

View template details
Generate Instagram Content from Top Trends with AI Image Generation

by mustafa kendigüzel

View template details
AI Customer Support Assistant · WhatsApp Ready · Works for Any Business

by Matt F.

View template details
Browse Postgres integration templates, or search all templates

n8n 提供了用于 Postgres 的触发节点。您可以在此找到触发节点文档 这里

Use query parameters#

当创建要运行在 Postgres 数据库上的查询时,您可以在选项部分中使用查询参数字段将数据加载到查询中。n8n 对查询参数中的数据进行消毒,以防止 SQL 注入。

例如,您想根据电子邮件地址查找人员。给定以下输入数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[
    {
        "email": "[email protected]",
        "name": "Alex",
        "age": 21 
    },
    {
        "email": "[email protected]",
        "name": "Jamie",
        "age": 33 
    }
]

您可以编写如下查询:

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

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

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

Common issues#

对于常见问题或问题及其建议解决方案,请参考 Common issues