Postgres 节点(Postgres node)#
使用 Postgres 节点来自动化 Postgres 中的工作,并将 Postgres 与其他应用集成。n8n 内置支持广泛的 Postgres 功能,包括执行查询,以及在数据库中插入和更新行。
🌐 Use the Postgres node to automate work in Postgres, and integrate Postgres with other applications. n8n has built-in support for a wide range of Postgres features, including executing queries, as well as inserting and updating rows in a database.
本页列出了 Postgres 节点支持的操作列表以及更多资源的链接。
🌐 On this page, you'll find a list of operations the Postgres node supports and links to more resources.
凭证
请参阅 Postgres 凭据 以获取有关设置身份验证的指导。
This node can be used as an AI tool
This node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the AI tool parameters documentation.
操作(Operations)#
删除(Delete)#
使用此操作可删除整个表格或表格中的行。
🌐 Use this operation to delete an entire table or rows in a table.
请输入以下参数:
🌐 Enter these parameters:
- 连接凭证:创建或选择一个现有的 Postgres 凭证。
- 操作:选择删除。
- 架构:选择包含你要操作的表的架构。选择 从列表中 从下拉列表中选择架构,或选择 按名称 输入架构名称。
- 表格:选择你想要操作的表格。选择 从列表 从下拉列表中选择表格,或选择 按名称 输入表格名称。
- 命令:要执行的删除操作:
- 截断:删除表的数据,但保留表的结构。
- 重置序列:是否在执行清空操作时将自增列重置为初始值。
- 删除:删除符合“选择行”条件的行。如果未选择任何内容,Postgres 将删除所有行。
- 选择行:定义一个列、操作符和值来匹配行。
- 组合条件:如何在“选择行”中组合条件。AND 要求所有条件都为真,而 OR 只要求至少一个条件为真。
- Drop:永久删除表的数据和结构。
- 截断:删除表的数据,但保留表的结构。
删除选项(Delete options)#
- 级联:是否同时删除所有依赖于该表的对象,如视图和序列。在使用 截断(Truncate) 或 删除(Drop) 命令时可用。
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在将空闲连接视为可关闭之前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单次查询:针对所有传入项目的单次查询。
- 独立地:对每个传入的执行项执行一次查询。
- 事务:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 大数字输出格式为:
NUMERIC和BIGINT列的输出格式为:- 数字:用于标准数字。
- 文本:如果你预计数字超过16位,请使用此选项。否则,数字可能不正确。
执行查询(Execute Query)#
使用此操作执行 SQL 查询。
🌐 Use this operation to execute an SQL query.
请输入以下参数:
🌐 Enter these parameters:
- 连接凭证:创建或选择一个现有的 Postgres 凭证。
- 操作:选择 执行查询。
- 查询:要执行的 SQL 查询。你可以使用 n8n 的 表达式 和类似
$1、$2、$3的标记来构建可与 查询参数 一起使用的 预处理语句。
执行查询选项(Execute Query options)#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在将空闲连接视为可关闭之前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单次查询:针对所有传入项目的单次查询。
- 独立地:对每个传入的执行项执行一次查询。
- 事务:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 查询参数:要作为查询参数使用的以逗号分隔的值列表。
- 大数字输出格式为:
NUMERIC和BIGINT列的输出格式为:- 数字:用于标准数字。
- 文本:如果你预计数字超过16位,请使用此选项。否则,数字可能不正确。
- 将空字符串替换为NULL:是否在输入中将空字符串替换为NULL。在处理从电子表格软件导出的数据时,这可能会很有用。
插入(Insert)#
使用此操作在表中插入行。
🌐 Use this operation to insert rows in a table.
请输入以下参数:
🌐 Enter these parameters:
- 连接凭证:创建或选择一个现有的 Postgres 凭证。
- 操作:选择 插入。
- 架构:选择包含你要操作的表的架构。选择 从列表中 从下拉列表中选择架构,或选择 按名称 输入架构名称。
- 表格:选择你想要操作的表格。选择 从列表 从下拉列表中选择表格,或选择 按名称 输入表格名称。
- 映射列模式:如何将列名映射到传入数据:
- 手动映射每一列:为每一列选择要使用的值。
- 自动映射:将传入的数据自动映射到 Postgres 中匹配的列名。传入数据的字段名称必须与 Postgres 中的列名相匹配才能生效。如有必要,请考虑在此节点之前使用 编辑字段(设置)节点 根据需要调整格式。
插入选项(Insert options)#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在将空闲连接视为可关闭之前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单次查询:针对所有传入项目的单次查询。
- 独立地:对每个传入的执行项执行一次查询。
- 事务:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。你可以从可用列列表中选择,或使用表达式指定列ID。
- 大数字输出格式为:
NUMERIC和BIGINT列的输出格式为:- 数字:用于标准数字。
- 文本:如果你预计数字超过16位,请使用此选项。否则,数字可能不正确。
- 遇到冲突时跳过:如果插入操作违反唯一或排除约束时,是否跳过该行而不是抛出错误。
- 将空字符串替换为NULL:是否在输入中将空字符串替换为NULL。在处理从电子表格软件导出的数据时,这可能会很有用。
插入或更新(Insert or Update)#
使用此操作在表中插入或更新行。
🌐 Use this operation to insert or update rows in a table.
请输入以下参数:
🌐 Enter these parameters:
- 连接凭证:创建或选择一个现有的 Postgres 凭证。
- 操作:选择插入或更新。
- 架构:选择包含你要操作的表的架构。选择 从列表中 从下拉列表中选择架构,或选择 按名称 输入架构名称。
- 表格:选择你想要操作的表格。选择 从列表 从下拉列表中选择表格,或选择 按名称 输入表格名称。
- 映射列模式:如何将列名映射到传入数据:
- 手动映射每一列:为每一列选择要使用的值。
- 自动映射:将传入的数据自动映射到 Postgres 中匹配的列名。传入数据的字段名称必须与 Postgres 中的列名相匹配才能生效。如有必要,请考虑在此节点之前使用 编辑字段(设置)节点 根据需要调整格式。
插入或更新选项(Insert or Update options)#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在将空闲连接视为可关闭之前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单次查询:针对所有传入项目的单次查询。
- 独立地:对每个传入的执行项执行一次查询。
- 事务:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。你可以从可用列列表中选择,或使用表达式指定列ID。
- 大数字输出格式为:
NUMERIC和BIGINT列的输出格式为:- 数字:用于标准数字。
- 文本:如果你预计数字超过16位,请使用此选项。否则,数字可能不正确。
- 将空字符串替换为NULL:是否在输入中将空字符串替换为NULL。在处理从电子表格软件导出的数据时,这可能会很有用。
选择(Select)#
使用此操作选择表格中的行。
🌐 Use this operation to select rows in a table.
请输入以下参数:
🌐 Enter these parameters:
- 连接凭证:创建或选择一个现有的 Postgres 凭证。
- 操作:选择 选择。
- 架构:选择包含你要操作的表的架构。选择 从列表中 从下拉列表中选择架构,或选择 按名称 输入架构名称。
- 表格:选择你想要操作的表格。选择 从列表 从下拉列表中选择表格,或选择 按名称 输入表格名称。
- 返回全部:是否返回所有结果,还是仅返回到指定的限制数。
- 限制:当不返回全部时,要返回的最大项目数。
- 选择行:设置选择行的条件。定义一个列、运算符和值来匹配行。如果不选择任何内容,Postgres 将选择所有行。
- 组合条件:如何在 选择行 中组合条件。AND 要求所有条件都为真,而 OR 只要求至少一个条件为真。
- 排序:选择如何对所选行进行排序。从列表中或通过ID选择一个列,并选择排序的方向。
选择选项(Select options)#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在将空闲连接视为可关闭之前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单次查询:针对所有传入项目的单次查询。
- 独立地:对每个传入的执行项执行一次查询。
- 事务:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。你可以从可用列列表中选择,或使用表达式指定列ID。
- 大数字输出格式为:
NUMERIC和BIGINT列的输出格式为:- 数字:用于标准数字。
- 文本:如果你预计数字超过16位,请使用此选项。否则,数字可能不正确。
更新(Update)#
使用此操作更新表格中的行。
🌐 Use this operation to update rows in a table.
请输入以下参数:
🌐 Enter these parameters:
- 连接凭证:创建或选择一个现有的 Postgres 凭证。
- 操作:选择更新。
- 架构:选择包含你要操作的表的架构。选择 从列表中 从下拉列表中选择架构,或选择 按名称 输入架构名称。
- 表格:选择你想要操作的表格。选择 从列表 从下拉列表中选择表格,或选择 按名称 输入表格名称。
- 映射列模式:如何将列名映射到传入数据:
- 手动映射每一列:为每一列选择要使用的值。
- 自动映射:将传入的数据自动映射到 Postgres 中匹配的列名。传入数据的字段名称必须与 Postgres 中的列名相匹配才能生效。如有必要,请考虑在此节点之前使用 编辑字段(设置)节点 根据需要调整格式。
更新选项(Update options)#
- 连接超时:尝试连接数据库的秒数。
- 延迟关闭空闲连接:在将空闲连接视为可关闭之前等待的秒数。
- 查询批处理:向数据库发送查询的方式:
- 单次查询:针对所有传入项目的单次查询。
- 独立地:对每个传入的执行项执行一次查询。
- 事务:在事务中执行所有查询。如果发生故障,Postgres 将回滚所有更改。
- 输出列:选择要输出的列。你可以从可用列列表中选择,或使用表达式指定列ID。
- 大数字输出格式为:
NUMERIC和BIGINT列的输出格式为:- 数字:用于标准数字。
- 文本:如果你预计数字超过16位,请使用此选项。否则,数字可能不正确。
- 将空字符串替换为NULL:是否在输入中将空字符串替换为NULL。在处理从电子表格软件导出的数据时,这可能会很有用。
模板和示例(Templates and examples)#
相关资源(Related resources)#
n8n 提供了一个用于 Postgres 的触发节点。您可以在这里找到触发节点文档。
🌐 n8n provides a trigger node for Postgres. You can find the trigger node docs here.
使用查询参数(Use query parameters)#
在创建要在 Postgres 数据库上运行的查询时,你可以使用 选项 部分中的 查询参数 字段将数据加载到查询中。n8n 会对查询参数中的数据进行清理,从而防止 SQL 注入。
🌐 When creating a query to run on a Postgres database, you can use the Query Parameters field in the Options section to load data into the query. n8n sanitizes data in query parameters, which prevents SQL injection.
例如,你想通过电子邮件地址查找某个人。给定以下输入数据:
🌐 For example, you want to find a person by their email address. Given the following input data:
1 2 3 4 5 6 7 8 9 10 11 12 | |
你可以编写如下查询:
🌐 You can write a query like:
1 | |
然后在 查询参数 中,提供要使用的字段值。你可以提供固定值或表达式。在本例中,使用表达式,这样节点可以依次从每个输入项中获取电子邮件地址:
🌐 Then in Query Parameters, provide the field values to use. You can provide fixed values or expressions. For this example, use expressions so the node can pull the email address from each input item in turn:
1 2 | |
常见问题(Common issues)#
有关常见问题或问题及建议的解决方案,请参阅 常见问题。
🌐 For common questions or issues and suggested solutions, refer to Common issues.