[Sqlalchemy-tickets] [sqlalchemy] #2727: ProgrammingError when autoload from PostgreSQL (Amazon Red
Brought to you by:
zzzeek
|
From: sqlalchemy <mi...@zz...> - 2013-05-15 13:15:53
|
#2727: ProgrammingError when autoload from PostgreSQL (Amazon Redshift)
-------------------------+-----------------------------------------
Reporter: ashkop | Owner: zzzeek
Type: defect | Status: new
Priority: medium | Milestone: 0.8.xx
Component: cextensions | Severity: no triage selected yet
Keywords: | Progress State: awaiting triage
-------------------------+-----------------------------------------
I'm trying to use sqlalchemy with Amazon Redshift. It uses Postgres
drivers so I'm using psycopg2.
Here's what I got when trying to autload table structure:
{{{
>>> from sqlalchemy import *
>>> engine = create_engine('postgresql+psycopg2://<connection string>')
>>> meta = MetaData(engine)
>>> t = Table('table_name', meta, autoload=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/schema.py", line
332, in __new__
table._init(name, metadata, *args, **kw)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/schema.py", line
396, in _init
self._autoload(metadata, autoload_with, include_columns)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/schema.py", line
424, in _autoload
self, include_columns, exclude_columns
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1595, in run_callable
return conn.run_callable(callable_, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1118, in run_callable
return callable_(self, *args, **kwargs)
File "/usr/local/lib/python2.7/site-
packages/sqlalchemy/engine/default.py", line 262, in reflecttable
return insp.reflecttable(table, include_columns, exclude_columns)
File "/usr/local/lib/python2.7/site-
packages/sqlalchemy/engine/reflection.py", line 443, in reflecttable
pk_cons = self.get_pk_constraint(table_name, schema, **tblkw)
File "/usr/local/lib/python2.7/site-
packages/sqlalchemy/engine/reflection.py", line 290, in get_pk_constraint
**kw)
File "<string>", line 1, in <lambda>
File "/usr/local/lib/python2.7/site-
packages/sqlalchemy/engine/reflection.py", line 49, in cache
ret = fn(self, con, *args, **kw)
File "/usr/local/lib/python2.7/site-
packages/sqlalchemy/dialects/postgresql/base.py", line 1823, in
get_pk_constraint
c = connection.execute(t, table_oid=table_oid)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 662, in execute
params)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 761, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 874, in _execute_context
context)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1024, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py",
line 163, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 867, in _execute_context
context)
File "/usr/local/lib/python2.7/site-
packages/sqlalchemy/engine/default.py", line 324, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (ProgrammingError) op ANY/ALL (array)
requires array on right side
"\n SELECT a.attname\n FROM\n
pg_class t\n join pg_index ix on t.oid = ix.indrelid\n
join pg_attribute a\n on t.oid=a.attrelid and
a.attnum=ANY(ix.indkey)\n WHERE\n t.oid =
%(table_oid)s and ix.indisprimary = 't'\n ORDER BY
a.attnum\n " {'table_oid': 165790}
}}}
I'm using sqlalchemy 0.8.1, Python 2.7.4
--
Ticket URL: <http://www.sqlalchemy.org/trac/ticket/2727>
sqlalchemy <http://www.sqlalchemy.org/>
The Database Toolkit for Python
|