You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Trino连接PostgreSQL RDS写入时遇Autocommit支持错误求助

解决Trino连接PostgreSQL写入时的AUTOCOMMIT_WRITE_CONFLICT错误

问题原因

Trino的PostgreSQL连接器仅支持在自动提交(autocommit)模式下执行写入操作,你的代码显式设置了IsolationLevel.SERIALIZABLE,这会开启显式事务,违反了连接器的限制,从而触发AUTOCOMMIT_WRITE_CONFLICT错误。

解决方案

修改Python代码,将事务隔离级别设置为自动提交模式,或者直接移除isolation_level参数(默认即为自动提交):

修改后的代码

from trino.dbapi import connect
from trino.auth import BasicAuthentication
from trino.transaction import IsolationLevel

with connect(
        host="localhost",
        port=8080,
        user="username",
        auth=BasicAuthentication("username", "password"),
        http_scheme="https",
        isolation_level=IsolationLevel.AUTOCOMMIT,  # 显式指定自动提交,也可直接删除该行
        verify=False,
        catalog="my_catalog_name"
) as conn:
    cur = conn.cursor()
    cur.execute('INSERT INTO sometable VALUES (4, 5, 6)')

补充说明

  • 若业务需要事务支持,Trino的PostgreSQL连接器目前不提供该能力,可直接连接PostgreSQL执行事务操作,或更换其他支持事务写入的Trino连接器。
  • 你的catalog配置无需调整,当前PostgreSQL连接器的配置是正确的,问题仅出在客户端的事务隔离级别设置上。

内容的提问来源于stack exchange,提问作者Santhoshkumar R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 21:05:58