我将sqlalchemy(sqlalchemy-redshift)用作熊猫引擎,同时使用to_sql
写入redshift时出现以下错误:
sqlalchemy.exc.NotSupportedError: (psycopg2.NotSupportedError) SQL command "CREATE INDEX ix_western_union_answer_pivot_index ON western_union_answer_pivot (index)" not supported on Redshift tables.
[SQL: 'CREATE INDEX ix_western_union_answer_pivot_index ON western_union_answer_pivot (index)'] (Background on this error at: http://sqlalche.me/e/tw8g)
我理解了这个问题,How to create an Index in Amazon Redshift
我有两个问题,
1. sqlalchemy-redshift是否不应该将create index
转换为支持sortkey
的redshift语句?那就是使用ORM的重点吧?
to_sql
创建数据库索引吗? 更新:
在index=False
中设置to_sql
时,上述问题已解决,但我最终遇到了
sqlalchemy.exc.DataError: (psycopg2.DataError) value too long for type character varying(256)
红移256的最大大小是多少?除了将数据切片到256并丢失信息以外,还有什么解决办法?