There’s a bit of a lag in the Fedora RPMs from PostgreSQL’s repositories, so I thought I’d post this up in case anyone else out there runs into the error message in the subject of this post.
To fix it quickly (until the RPMs are updated), simply patch a single file (/usr/lib/python3.7/site-packages/pgadmin4-web/pgadmin/utils/driver/psycopg2/cursor.py) as follows:
1. Right after the following lines (lines 18-19 in the file):
except ImportError: from ordereddict import OrderedDict
Add:
import psycopg2
2. Replace the line (originally line 91 in the file):
ores = OrderedDict(self.orig_col._asdict())
With: if psycopg2.__version__.find('2.8') != -1: ores = OrderedDict() ores['name'] = self.orig_col.name ores['type_code'] = self.orig_col.type_code ores['display_size'] = self.orig_col.display_size ores['internal_size'] = self.orig_col.internal_size ores['precision'] = self.orig_col.precision ores['scale'] = self.orig_col.scale ores['null_ok'] = self.orig_col.null_ok ores['table_oid'] = self.orig_col.table_oid ores['table_column'] = self.orig_col.table_column else: ores = OrderedDict(self.orig_col._asdict())
That’s it! Careful about the line spacing; it’s python, so it’s quite sensitive to it. If you use vim or some other python-aware editor, it should flag any incorrect spacing in your edits.