Python 在psycopg2中插入查询值时删除引号

Python 在psycopg2中插入查询值时删除引号,python,sql,postgresql,psycopg2,Python,Sql,Postgresql,Psycopg2,连接到,但我遗漏了一些东西 当我运行以下命令时 table_name = 'my_schema.my_table' cur.execute(sql.SQL('SELECT col1, col2 FROM {}').format(sql.Identifier(table_name))) 发送到数据库的查询是 SELECT col1, col2 FROM "myschema.myname" 我得到了一个错误: "relation "myschema.myname" does not exist"

连接到,但我遗漏了一些东西

当我运行以下命令时

table_name = 'my_schema.my_table'
cur.execute(sql.SQL('SELECT col1, col2 FROM {}').format(sql.Identifier(table_name)))
发送到数据库的查询是

SELECT col1, col2 FROM "myschema.myname"
我得到了一个错误:

"relation "myschema.myname" does not exist"
我希望查询是正确的

SELECT col1, col2 FROM myschema.myname
当我把它直接传递给
cur.execute
时,我没有问题


如果有帮助,我将使用.ini文件连接到数据库,在我的情况下,该文件如下所示:

[postgresql]
host=ip_no_of_host
database=name_of_db
user=username
password=password
或者只是

table_name = 'my_table'
cur.execute(sql.SQL('SELECT col1, col2 FROM my_schema.{}').format(
    sql.Identifier(table_name)
    )
)

谢谢你的建议。我不连接到特定的模式,只连接数据库,而且如果我直接将其传递给
cur.execute
,mytable也可以正常工作。我已经用conn详细信息更新了我的问题。删除模式限定符不起作用-表名周围仍然有引号。我不认为这是问题所在,因为问题在于删除引号。正如我所说的
cur.execute('selectcol1,col2 FROM mychema.myname')
工作正常。谢谢,这就解决了问题。这是因为
sql.Identifier(\u str)
对象映射到原子postgres对象上吗?
table_name = 'my_table'
cur.execute(sql.SQL('SELECT col1, col2 FROM my_schema.{}').format(
    sql.Identifier(table_name)
    )
)