Postgres データベースを使用する Django アプリがあります。次のようにして一時テーブルを作成しています。
cursor.execute("""CREATE TEMP TABLE temp_table (pub_id INTEGER, pub_title TEXT, pub_tags TEXT[])""")
temp_table の最後の列 (pub_tags) に文字列の配列が含まれていることに注意してください。
参考までに、コードの次の行は、既存のテーブルから一時テーブルにデータを挿入し、正常に動作します。
cursor.execute("""INSERT INTO temp_table(pub_id, pub_title, pub_tags) SELECT...etc.
最後のステップとして、temp_table から pub_titles を取得したいと思います。pub_tags 列には、入力した文字列と一致するものがあります。
たとえば、pub_tag 配列に文字列「men」が含まれているすべての pub_titles を取得したいと考えています。 構文は次のようになると思います。
cursor.execute("""SELECT pub_title FROM temp_table WHERE '%men%' IN (pub_tags)""")
これは正しくなく、構文エラーをスローしますが、うまくいけば、私がやろうとしていることを説明しています。このコンテキストで pub_tags が配列であることを示す方法がわかりません。
たとえば、いくつかのpostgresドキュメントを参照しました。
http://www.postgresql.org/docs/current/static/functions-array.htmlおよび http://www.postgresql.org/docs/current/interactive/functions-comparisons.html#AEN18030
しかし、何をしようとしても、ここで何も動作しません。