Opened 13 years ago
Last modified 11 years ago
#9098 closed defect
No connector loaded for postgres schema — at Initial Version
Reported by: | Owned by: | John Hampton | |
---|---|---|---|
Priority: | normal | Component: | SqliteToPgScript |
Severity: | blocker | Keywords: | postgres connector unsupported |
Cc: | Trac Release: | 0.11 |
Description
First, some pre-requisite information:
The command I'm using is: ./sqlite2pg.py -e /path/to/trac -p 'postgres://user:pass@localhost:5432/trac'
The stack trace I'm getting is: Traceback (most recent call last):
File "./sqlite2pg.py", line 335, in <module>
sys.exit(main(sys.argv[1:]))
File "./sqlite2pg.py", line 331, in main
Main(opts)
File "./sqlite2pg.py", line 244, in Main
pgenv = getPostgreSQLEnvironment(opts)
File "./sqlite2pg.py", line 209, in getPostgreSQLEnvironment
cnx = env.get_db_cnx()
File "/usr/lib/python2.6/dist-packages/trac/env.py", line 285, in
get_db_cnx
return DatabaseManager(self).get_connection()
File "/usr/lib/python2.6/dist-packages/trac/db/api.py", line 90, in
get_connection
connector, args = self._get_connector()
File "/usr/lib/python2.6/dist-packages/trac/db/api.py", line 131, in
_get_connector
raise TracError('Unsupported database type "%s"' % scheme)
trac.core.TracError: Unsupported database type "postgres"
The sys.path is: ['/root', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']
The relevant modules are located in the sys.path path: /usr/lib/python2.6/dist-packages/psycopg2 /usr/lib/python2.6/dist-packages/trac /usr/lib/python2.6/dist-packages/trac/db/postgres_backend.py /usr/lib/python2.6/dist-packages/trac/db/sqlite_backend.py
Debugging output shows that the script finds psycopg2, but doesn't load the PG connector: has_psycopg: True scheme: postgres connectors: [<trac.db.sqlite_backend.SQLiteConnector object at 0x1c12b10>] candidates: []
And, that's the reason the script fails, and the reason I've filed this ticket. The 'postgres' schema doesn't match any in the candidates list. I truly don't believe this is a path issue, given the information above. A thread I started on the trac-users mailing list can be found archived here, in case it helps to fill in any gaps: http://www.gossamer-threads.com/lists/trac/users/48799
Cheers, Ryan