Opened 18 years ago
Closed 18 years ago
#6987 closed (duplicate)
manage.py syncdb: Error with the PostgreSQL version.
| Reported by: | Owned by: | nobody | |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 0.96 |
| Severity: | Keywords: | psycopg2, postgresql, syncdb | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
When I tried to initialize the database for the first time, I got the following error.
C:\django\blog>python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python25\Lib\site-packages\django\core\management.py", line 1672, in execute_manager
execute_from_command_line(action_mapping, argv)
File "C:\Python25\Lib\site-packages\django\core\management.py", line 1571, in execute_from_command_line
action_mapping[action](int(options.verbosity), options.interactive)
File "C:\Python25\Lib\site-packages\django\core\management.py", line 504, in syncdb
cursor = connection.cursor()
File "C:\Python25\Lib\site-packages\django\db\backends\postgresql_psycopg2\base.py", line 57, in cursor
postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')]
ValueError: invalid literal for int() with base 10: '1,'
Doing a SELECT version() returns: ('PostgreSQL 8.3.1, compiled by Visual C++ build 1400',)
So there is a trailing comma after the version number.
Change History (2)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Essentially a dupe of #6433.
Note:
See TracTickets
for help on using tickets.
My solution was as followed.
In django\db\backends\postgresql_psycopg2\base.py, line 57:
Replace
postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')]With
postgres_version = [int(val.strip(',')) for val in cursor.fetchone()[0].split()[1].split('.')]