Python psycopg2、SELECT和schema

Python psycopg2、SELECT和schema,python,psycopg2,Python,Psycopg2,我试图对一个表执行一个简单的select语句,该表是“dam_vector”模式的一部分。我得到的错误是: psycopg2.ProgrammingError:关系 “dam_vector.parcels_full”没有 存在第1行:从中选择* “dam_矢量。包裹已满” 我想不出这一点,我知道我遗漏了一些明显的东西。你能提供的任何帮助都会很好 这是我正在使用的代码。db是成功连接到数据库的连接字符串 cur = db.cursor() query = 'SELECT * FROM "dam_v

我试图对一个表执行一个简单的select语句,该表是“dam_vector”模式的一部分。我得到的错误是:

psycopg2.ProgrammingError:关系 “dam_vector.parcels_full”没有 存在第1行:从中选择* “dam_矢量。包裹已满”

我想不出这一点,我知道我遗漏了一些明显的东西。你能提供的任何帮助都会很好

这是我正在使用的代码。db是成功连接到数据库的连接字符串

cur = db.cursor()
query = 'SELECT * FROM "dam_vector.parcels_full"'
cur.execute(query)
results = cur.fetchall()
当这失败了,在我对谷歌做了一些研究之后,我尝试了这个。同样的错误

cur.execute("SET search_path TO dam_vector,public")
db.commit()

cur = db.cursor()
query = 'SELECT * FROM "parcels_full"'
cur.execute(query)
results = cur.fetchall()

dam\u vector.parcels\u full
周围不需要引号

以下输出是否显示确实存在
包裹满
表格

cur.execute("""SELECT tablename 
                 FROM pg_tables 
                WHERE tablename NOT LIKE ALL (ARRAY['pg_%','sql_%']);""")
cur.fetchall()

dam\u vector.parcels\u full
周围不需要引号

以下输出是否显示确实存在
包裹满
表格

cur.execute("""SELECT tablename 
                 FROM pg_tables 
                WHERE tablename NOT LIKE ALL (ARRAY['pg_%','sql_%']);""")
cur.fetchall()

双引号使其中的内容成为标识符,所以

SELECT * FROM "dam_vector.parcels_full";
SELECT * FROM "dam_vector"."parcels_full";
从schama
public
(或搜索路径中的任何内容)中点击表
dam\u vector.packets\u full
(句点解释为表名的一部分)

正如Adam所说,你不需要名字中没有特殊字符的引号。 尝试:

如果确实要使用双引号,请选择:


双引号使其中的内容成为标识符,所以

SELECT * FROM "dam_vector.parcels_full";
SELECT * FROM "dam_vector"."parcels_full";
从schama
public
(或搜索路径中的任何内容)中点击表
dam\u vector.packets\u full
(句点解释为表名的一部分)

正如Adam所说,你不需要名字中没有特殊字符的引号。 尝试:

如果确实要使用双引号,请选择: