sqlalchemy查询postgrel时如何打印原始sql

问题背景:
有个pg查询的sql很慢, 需要优化, 打印出原始sql来explain:

from sqlalchemy.dialects import postgresql
query = Config.query.all()
try:
    # 引入方言, literal_binds 指定参数全部替换
    compiled = query.statement.compile(
        dialect=postgresql.dialect(), compile_kwargs={"literal_binds": True}
    )
    print(compiled.string)
except Exception as e:
    print("原始sql生成失败: ", str(e))

得到原生sql就可以去客户端进行分析了;

posted @ 2024-04-01 19:26  干炸小黄鱼  阅读(48)  评论(0编辑  收藏  举报