My problem seems to be related to using mod_wsgi with apache. I tried multiple version of mod_wsgi 4.x and 5.x but the problem remained.
The solution for me was to run pgadmin4 via gunicorn and a simple reverse proxy in apache. Thanks for all the help! Sent with [Proton Mail](https://proton.me/) secure email. On Sunday, March 17th, 2024 at 10:40 PM, Akshay Joshi <akshay.jo...@enterprisedb.com> wrote: > Hi Hubbamubba > > On Fri, Mar 15, 2024 at 11:01 PM hubbamubba <hubbamu...@proton.me> wrote: > >> This is the exception from the pgadmin4 log file >> >> 2024-03-13 19:22:50,053: ERROR pgadmin: 'NoneType' object has no attribute >> 'version' >> Traceback (most recent call last): >> File "/opt/pgadmin4/venv/lib64/python3.7/site-packages/flask/app.py", line >> 1823, in full_dispatch_request >> rv = self.dispatch_request() >> File "/opt/pgadmin4/venv/lib64/python3.7/site-packages/flask/app.py", line >> 1799, in dispatch_request >> return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) >> File "/opt/pgadmin4/venv/lib64/python3.7/site-packages/flask/views.py", line >> 107, in view >> return current_app.ensure_sync(self.dispatch_request)(**kwargs) >> File >> "/opt/pgadmin4/venv/lib/python3.7/site-packages/pgadmin4/pgadmin/browser/utils.py", >> line 309, in dispatch_request >> return method(*args, **kwargs) >> File >> "/opt/pgadmin4/venv/lib/python3.7/site-packages/pgadmin4/pgadmin/browser/utils.py", >> line 344, in children >> children = self.get_children_nodes(*args, **kwargs) >> File >> "/opt/pgadmin4/venv/lib/python3.7/site-packages/pgadmin4/pgadmin/browser/utils.py", >> line 365, in get_children_nodes >> children.extend(module.get_nodes(*args, **kwargs)) >> File >> "/opt/pgadmin4/venv/lib/python3.7/site-packages/pgadmin4/pgadmin/browser/server_groups/servers/__init__.py", >> line 279, in get_nodes >> version=manager.version, >> AttributeError: 'NoneType' object has no attribute 'version' > > Does this error occur after changing the servers.json file? Can you please > provide the exact steps to reproduce? > >> Sent with [Proton Mail](https://proton.me/) secure email. >> >> On Wednesday, March 13th, 2024 at 7:54 AM, hubbamubba <hubbamu...@proton.me> >> wrote: >> >>> Hi, >>> >>> Amazon linux 2 >>> Python 3.7 >>> Pgadmin 8.4/8.3 in server_mode installed via pip >>> Apache with mod_wsgi >>> ldap authentication >>> psycopg==3.1.12 >>> psycopg-binary==3.1.12 >>> >>> I'm having issues using passfile on a new pgadmin4 install. >>> I have the app running and I can login with ldap and an internal user. >>> I'm also able to run setup.py and run load-servers (It reports the correct >>> number of servers added) and I can >>> verify in sqlite3 db. >>> >>> I can see the new server tab in the gui but when I click the new servers >>> tab, >>> I get a load of errors: >>> >>> Tue Mar 12 19:15:39.851547 2024] [wsgi:error] [pid 9262] [remote >>> 172.18.1.88:38112] psycopg.ProgrammingError: invalid connection option >>> "passfile" >>> [ >>> File >>> "/opt/pgadmin4/venv/lib/python3.7/site-packages/pgadmin4/pgadmin/utils/driver/psycopg3/server_manager.py", >>> line 116, in update >>> self.create_connection_string(self.db, self.user) >>> File >>> "/opt/pgadmin4/venv/lib/python3.7/site-packages/pgadmin4/pgadmin/utils/driver/psycopg3/server_manager.py", >>> line 696, in create_connection_string >>> self.display_connection_string = make_conninfo(**display_dsn_args) >>> File >>> "/opt/pgadmin4/venv/lib64/python3.7/site-packages/psycopg/conninfo.py", >>> line 59, in make_conninfo >>> _parse_conninfo(conninfo) >>> File >>> "/opt/pgadmin4/venv/lib64/python3.7/site-packages/psycopg/conninfo.py", >>> line 98, in _parse_conninfo >>> raise e.ProgrammingError(str(ex)) >>> psycopg.ProgrammingError: invalid connection option "passfile" >>> >>> I get the same error if I use the gui to add a new DB connection using the >>> passfile option. >>> >>> I can't tell if this error is a really an unsupported connection param or >>> pgadmin can't find my pgpass file. I've moved the pspass file to multiple >>> locations but no progress. >>> >>> Here is a snippet from servers.json >>> { "Servers": { >>> "1": { >>> "Name": "dev-product", >>> "Group": "Servers", >>> "Host": "xxx", >>> "Port": 5432, >>> "Shared": true, >>> "SharedUsername": "yyy", >>> "Username": "yyy", >>> "MaintenanceDB": "postgres", >>> "SSLMode": "disable", >>> "PassFile": "../../pgpass" >>> }, >>> >>> Any thoughts? >>> Thanks,Tom >>> >>> Sent with [Proton Mail](https://proton.me/) secure email.