Opened 13 years ago

Last modified 11 years ago

#9098 closed defect

No connector loaded for postgres schema — at Initial Version

Reported by: ryan.g.steele@… 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

Change History (0)

Note: See TracTickets for help on using tickets.