Я установил пакет pgadmin4
(v4.4) из официального репозитория пакетов Arch Linux. Работало до последнего обновления. Теперь я не могу добавить новый сервер. В браузере я получил ошибку:
http://127.0.0.1:36699/browser/server_group/children/1 500 (INTERNAL SERVER ERROR)
И из журнала сервера я получил ошибку:
2019-04-09 21:41:49,900: ERROR flask.app: 'psycopg2.extensions.Column' object has no attribute '_asdict'
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/lib/python3.7/site-packages/flask/views.py", line 88, in view
return self.dispatch_request(*args, **kwargs)
File "/usr/lib/pgadmin4/web/pgadmin/browser/utils.py", line 259, in dispatch_request
return method(*args, **kwargs)
File "/usr/lib/pgadmin4/web/pgadmin/browser/utils.py", line 309, in children
children.extend(module.get_nodes(*args, **kwargs))
File "/usr/lib/pgadmin4/web/pgadmin/browser/server_groups/servers/__init__.py", line 127, in get_nodes
in_recovery, wal_paused = recovery_state(conn, manager.version)
File "/usr/lib/pgadmin4/web/pgadmin/browser/server_groups/servers/__init__.py", line 52, in recovery_state
status, result = connection.execute_dict(recovery_check_sql)
File "/usr/lib/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py", line 1202, in execute_dict
desc.to_dict() for desc in cur.ordered_description()
File "/usr/lib/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py", line 1202, in <listcomp>
desc.to_dict() for desc in cur.ordered_description()
File "/usr/lib/pgadmin4/web/pgadmin/utils/driver/psycopg2/cursor.py", line 94, in to_dict
ores = OrderedDict(self.orig_col._asdict())
AttributeError: 'psycopg2.extensions.Column' object has no attribute '_asdict'
Интересно, это только я, потому что я ничего не получил от поиска Google.
У меня такая же проблема psycopg2 2.8.1
. Переход на 2.7.7
помогает.
@ElgsQianChen Это была проблема pgAdmin, она была несовместима с psycopg2 2.8.
Команда pgAdmin4 выпустила новую версию pgadmin4 (v4.5), которая будет работать с последней версией psycopg2, которая psycopg2 2.8.1
https://www.pgadmin.org/download/
Ошибка: https://redmine.postgresql.org/issues/4143
Спасибо! Будем ждать обновления репозитория арки.
Решил эту проблему покупкой Navicat.
Кстати, вы случайно не знаете, проблема ли это в psycopg2 или в pgadmin4? Спасибо.