在postgreSQL上选择大写表名不起作用

时间:2016-05-09 11:52:58

标签: python postgresql psycopg2

我在windows7和python3.4.4上使用psycopg2。

我想从大写名称表中获取数据,但我无法弄明白。任何人都可以帮助我吗?

总是这样回归 relation "table" does not exist 我想制作" table"大写。

这是我的代码 导入psycopg2

class KindOfCoupons:

   def get_coupons(self, cur, names):
       coupons = {}
       for name in names:
           coupons[name] = cur.execute("SELECT * FROM \"" + name + "\" ;")
       return coupons

   def connect_redshift(self):
       conn = psycopg2.connect("dbname=dbname host=host user=user password=password port=000")
       return conn.cursor()

   def get_coupon_used_type(self):
       cur = self.connect_redshift()
       names = ["TABLE", "TABLE_B", "TABLE_C"]
       coupons = self.get_coupons(cur, names)
       coupons[names[0]][0]

1 个答案:

答案 0 :(得分:0)

PostgresSQL列和表名称不区分大小写,除非用引号括起它们(就像你做的那样"SELECT * FROM \"" + name + "\" ;")。

请参阅此答案:https://stackoverflow.com/a/21798517/1453822