首页 > 解决方案 > 双美元 $$ 符号的 Psycopg2 问题

问题描述

$$我在 psycopg2 库中有问题。出于测试目的,我创建了简单的代码片段,例如

CREATE OR REPLACE PROCEDURE test()
AS $$
BEGIN
    select 1;
END
$$ LANGUAGE plpgsql;

如果我在任何 postgresql 客户端中处理它都很好,但是在 psycopg 中处理会导致unterminated dollar-quoted string at or near "$$...

知道如何解决吗?

标签: pythonpsycopg2

解决方案


它对我有用:

import psycopg2
con = psycopg2.connect(dbname="test", host='localhost', user='postgres')
proc_sql = """CREATE OR REPLACE PROCEDURE test()
AS $$
BEGIN
    select 1;
END
$$ LANGUAGE plpgsql;"""
cur = con.cursor()
cur.execute(proc_sql)
con.commit()

推荐阅读