pg8000: UnicodeEncodeError: 'decimal' codec can't encode characters in position 0-2: invalid decimal Unicode string

Issue #3001 resolved
Sorin Ionuț Sbârnea created an issue

It seems that sqlalchemy with pg8000 gives and UnicodeDecodeError while trying to perform reflection.

Traceback (most recent call last):
  File "import-ledger.py", line 101, in <module>
    meta.reflect(bind=db)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 2754, in reflect
    Table(name, self, **reflect_opts)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 332, in __new__
    table._init(name, metadata, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 396, in _init
    self._autoload(metadata, autoload_with, include_columns)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 413, in _autoload
    self, include_columns, exclude_columns
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1118, in run_callable
    return callable_(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 262, in reflecttable
    return insp.reflecttable(table, include_columns, exclude_columns)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 494, in reflecttable
    indexes = self.get_indexes(table_name, schema)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 344, in get_indexes
    info_cache=self.info_cache, **kw)
  File "<string>", line 1, in <lambda>
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 49, in cache
    ret = fn(self, con, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/postgresql/base.py", line 1979, in get_indexes
    index['key'] = [int(k.strip()) for k in idx_key.split()]
UnicodeEncodeError: 'decimal' codec can't encode characters in position 0-2: invalid decimal Unicode string

Comments (1)

  1. Sorin Ionuț Sbârnea reporter

    Damn, this was my mistake, I copied the code and the virtualend ENV directory from osx to linux,...

  2. Log in to comment