pgadmin4 показывает 500 (ВНУТРЕННЯЯ ОШИБКА СЕРВЕРА)

#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

https://www.pgadmin.org/download/

Ошибка: https://redmine.postgresql.org/issues/4143

Комментарии:

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