#archlinux #pgadmin-4
#archlinux #pgadmin-4
Вопрос:
Я установил 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.
Ответ №1:
У меня такая же проблема psycopg2 2.8.1
. Понижение до 2.7.7
делает трюк.
Комментарии:
1. Кстати, вы случайно не знаете, проблема psycopg2 или проблема pgadmin4? Спасибо.
2. @ElgsQianChen Это была проблема с pgAdmin, она была несовместима с psycopg2 2.8
Ответ №2:
Команда pgAdmin4 выпустила новую версию pgadmin4 (v4.5), которая будет работать с последней версией psycopg2, которая psycopg2 2.8.1
Комментарии:
1. Спасибо! Будет ожидать обновления репозитория arch.
Ответ №3:
В моем случае первая попытка выполнения команды /usr/pgadmin4/bin/setup-web.sh
показала ошибку ниже, из-за которой веб-URL отображал ошибку 500.
/usr/pgadmin4/bin/setup-web.sh: line 87: semanage: command not found
Я использую AlamLinux. Я установил необходимый пакет и setup-web.sh
снова запустил, чтобы веб-URL работал
yum install policycoreutils-python-utils
/usr/pgadmin4/bin/setup-web.sh