24728


windows7上でpsycopg2とpython3.4.4を使ってredshiftに接続しています。

大文字のテーブル名にアクセスしたいのですが、`relation "table" does not
exist`になってしまい、アクセスできません。ダブルクォートで囲んでもアクセスできないのですが、解決法をご存知の方はいらっしゃいますか？

以下コードになります

[code]

    import 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]
    
[/code]


CC BY-SA 3.0
2016-05-09T12:33:34.280
24675
2020-04-07T05:37:03.293
2020-04-07T05:37:03.293
19110
15425
question
python aws sql amazon-redshift
Redshiftで大文字のテーブル名を検索する


> 標準的な識別子と区切り記号付き識別子は、大文字と小文字の区別がありませんが、小文字で表記されます。  
>  [AWS
> Documentation](http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_names.html)

との事です。


CC BY-SA 3.0
2016-05-10T22:03:47.277
24728
2016-05-10T22:03:47.277
3054
24675
answer