Postgres 节点#
使用 Postgres 节点可以自动化 Postgres 数据库操作,并将 Postgres 与其他应用程序集成。n8n 内置支持广泛的 Postgres 功能,包括执行查询、在数据库中插入和更新行等操作。
本页列出了 Postgres 节点支持的操作列表,并提供了更多资源的链接。
凭据
有关设置身份验证的指导,请参考 Postgres 凭据。
/// 注意 | 此节点可用作 AI 工具 该节点可用于增强 AI 代理的能力。当以这种方式使用时,许多参数可以自动设置,或由 AI 提供信息进行配置 - 更多详情请参阅 AI 工具参数文档。 ///
操作#
删除操作#
使用此操作可以删除整个表或表中的行。
输入以下参数:
- 连接凭证:创建或选择现有的 Postgres 凭证。
- 操作:选择 Delete(删除)。
- 模式:选择包含目标表的模式。选择 From list 从下拉列表中选择模式,或选择 By Name 手动输入模式名称。
- 表:选择要操作的目标表。选择 From list 从下拉列表中选择表,或选择 By Name 手动输入表名称。
- 命令:选择删除操作类型:
- Truncate(清空):删除表中所有数据但保留表结构。
- Restart Sequences(重置序列):是否在清空过程中将自增列重置为初始值。
- Delete(删除):删除符合"选择行"条件的行。如果不设置条件,Postgres 将删除所有行。
- Select Rows(选择行):定义 Column(列)、Operator(运算符)和 Value(值)来匹配要删除的行。
- Combine Conditions(组合条件):设置"选择行"条件的组合方式。AND 要求所有条件都满足,OR 只需满足任一条件。
- Drop(删除表):永久删除表的数据和结构。
- Truncate(清空):删除表中所有数据但保留表结构。
删除选项#
- 级联删除: 是否同时删除依赖于该表的所有对象,如视图和序列。仅在使用 清空表 或 删除表 命令时可用。
- 连接超时: 尝试连接数据库的秒数。
- 空闲连接关闭延迟: 在认为空闲连接符合关闭条件前的等待秒数。
- 查询批处理: 向数据库发送查询的方式:
- 单条查询: 对所有传入项执行单一查询。
- 独立执行: 为执行中的每个传入项执行一条查询。
- 事务处理: 在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 大数字输出格式: 指定
NUMERIC
和BIGINT
列的输出格式:- 数字格式: 适用于标准数字。
- 文本格式: 适用于预期数字超过16位的情况。不使用此选项可能导致数字不准确。
执行查询#
使用此操作来执行 SQL 查询。
需填写以下参数:
- 连接凭证: 创建或选择现有的 Postgres 凭证。
- 操作: 选择 执行查询。
- 查询语句: 要执行的 SQL 查询。您可以使用 n8n 表达式 和
$1
、$2
、$3
等标记来构建 预处理语句,以便与 查询参数 配合使用。
执行查询选项#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在考虑关闭空闲连接前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单一查询:对所有传入项执行单个查询。
- 独立执行:为执行中的每个传入项执行一个查询。
- 事务处理:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 查询参数:要用作查询参数的逗号分隔值列表。
- 大数字输出格式:
NUMERIC
和BIGINT
列的输出格式:- 数字:适用于标准数字。
- 文本:如果预期数字超过16位时使用。不使用此选项可能导致数字不正确。
- 将空字符串替换为 NULL:是否在输入中将空字符串替换为 NULL。这在处理从电子表格软件导出的数据时可能有用。
插入操作#
使用此操作可在表中插入行。
输入以下参数:
- 连接凭证:创建或选择现有的 Postgres 凭证。
- 操作:选择 插入。
- 模式:选择包含目标表的模式。选择 从列表 从下拉列表中选择模式,或选择 按名称 手动输入模式名称。
- 表:选择要操作的表。选择 从列表 从下拉列表中选择表,或选择 按名称 手动输入表名称。
- 列映射模式:如何将列名映射到输入数据:
- 手动映射每列:为每列选择要使用的值。
- 自动映射:自动将输入数据匹配到 Postgres 中同名的列。输入数据的字段名必须与 Postgres 中的列名完全匹配才能生效。如有需要,可考虑在此节点前使用 编辑字段(设置)节点 来调整格式。
插入选项#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在认为空闲连接可关闭前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单一查询:为所有传入项执行单个查询。
- 独立执行:为执行中的每个传入项执行一个查询。
- 事务处理:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。您可以从可用列列表中选择,或使用表达式指定ID。
- 大数字输出格式:
NUMERIC
和BIGINT
列的输出格式:- 数字:适用于标准数字。
- 文本:如果您预期数字长度超过16位时使用。不使用此选项可能导致数字不正确。
- 冲突时跳过:当插入违反唯一或排除约束时是否跳过该行而非抛出错误。
- 将空字符串替换为NULL:是否在输入中将空字符串替换为NULL。这在处理从电子表格软件导出的数据时可能有用。
插入或更新#
使用此操作可在表中插入或更新行。
输入以下参数:
- 连接凭证:创建或选择现有的 Postgres 凭证。
- 操作:选择 插入或更新。
- 模式:选择包含目标表的模式。选择 从列表 从下拉列表中选择模式,或选择 按名称 手动输入模式名称。
- 表:选择要操作的表。选择 从列表 从下拉列表中选择表,或选择 按名称 手动输入表名称。
- 列映射模式:如何将列名映射到输入数据:
- 手动映射每列:为每列选择要使用的值。
- 自动映射:自动将输入数据映射到 Postgres 中匹配的列名。输入数据的字段名必须与 Postgres 中的列名匹配才能正常工作。如有必要,可考虑在此节点前使用 编辑字段(设置)节点 根据需要调整格式。
插入或更新选项#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在考虑关闭空闲连接前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单一查询:对所有传入项执行单一查询。
- 独立执行:为执行中的每个传入项执行一个查询。
- 事务处理:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。您可以从可用列列表中选择,或使用表达式指定 ID。
- 大格式数字输出为:
NUMERIC
和BIGINT
列的输出格式:- 数字:适用于标准数字。
- 文本:如果您预期数字长度超过16位时使用。不使用此选项可能导致数字不正确。
- 将空字符串替换为 NULL:是否在输入中将空字符串替换为 NULL。这在处理从电子表格软件导出的数据时可能有用。
选择#
使用此操作从表中选择行。
输入以下参数:
- 连接凭证:创建或选择现有的 Postgres 凭证。
- 操作:选择 Select。
- 模式:选择包含目标表的模式。选择 From list 从下拉列表中选择模式,或选择 By Name 手动输入模式名称。
- 表:选择要操作的表。选择 From list 从下拉列表中选择表,或选择 By Name 手动输入表名称。
- 返回全部:是否返回所有结果或仅返回指定数量的结果。
- 限制:当 返回全部 禁用时,设置返回结果的最大数量。
- 选择行:设置选择行的条件。定义 列、运算符 和 值 来匹配行。如果不设置任何条件,Postgres 将选择所有行。
- 组合条件:如何组合 选择行 中的条件。AND 要求所有条件都为真,而 OR 只需至少一个条件为真。
- 排序:选择如何对选中的行进行排序。从列表或按 ID 选择 列 并指定排序 方向。
选择选项#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在认为空闲连接可关闭前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单查询:对所有传入项执行单个查询。
- 独立执行:为执行中的每个传入项执行一个查询。
- 事务处理:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。您可以从可用列列表中选择,或使用表达式指定ID。
- 大数字输出格式:
NUMERIC
和BIGINT
列的输出格式:- 数字:适用于标准数字。
- 文本:如果您预期数字超过16位时使用。若不选择此项,数字可能会不正确。
更新操作#
使用此操作可更新表中的行。
输入以下参数:
- 连接凭证:创建或选择现有的 Postgres 凭证。
- 操作:选择 Update。
- Schema:选择包含目标表的模式。选择 From list 从下拉列表中选择模式,或选择 By Name 手动输入模式名称。
- 表:选择要操作的目标表。选择 From list 从下拉列表中选择表,或选择 By Name 手动输入表名称。
- 列映射模式:如何将列名映射到输入数据:
- 手动映射每列:为每列选择要使用的值。
- 自动映射:自动将输入数据匹配到 Postgres 中同名的列。输入数据的字段名必须与 Postgres 中的列名完全匹配才能生效。如有需要,可考虑在此节点前使用 编辑字段(设置)节点 来调整格式。
更新选项#
- 连接超时时间:尝试连接数据库的秒数。
- 空闲连接关闭延迟:在认为空闲连接符合关闭条件前等待的秒数。
- 查询批处理方式:向数据库发送查询的方式:
- 单一查询:对所有传入项执行单个查询。
- 独立执行:为执行中的每个传入项执行一个查询。
- 事务处理:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。您可以从可用列列表中选择,或使用表达式指定ID。
- 大数字格式输出为:
NUMERIC
和BIGINT
列的输出格式:- 数字:适用于标准数字。
- 文本:如果您预期数字超过16位时使用。不使用此选项可能导致数字不准确。
- 空字符串替换为NULL:是否在输入中将空字符串替换为NULL。这在处理从电子表格软件导出的数据时可能有用。
模板和示例#
相关资源#
n8n 为 Postgres 提供了触发器节点。您可以在此处找到触发器节点文档。
使用查询参数#
在创建要运行于 Postgres 数据库的查询时,您可以使用 选项 部分中的 查询参数 字段将数据加载到查询中。n8n 会对查询参数中的数据进行净化处理,从而防止 SQL 注入攻击。
例如,您想通过电子邮件地址查找某个人。给定以下输入数据:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
您可以编写如下查询语句:
1 |
|
然后在 查询参数 中,提供要使用的字段值。您可以提供固定值或表达式。在本示例中,使用表达式以便节点可以依次从每个输入项中提取电子邮件地址:
1 2 |
|
常见问题#
有关常见问题或疑问及其建议解决方案,请参阅常见问题。