Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Postgres Database Error: relation does not exist

I am fixing some problems with a legacy system and have run into a snag that I am surprised was not caught sooner. I am running Django 1.3 and using postgres 9.1.3 in running this application. The system is a validation system for users to use the rest of the system. It uses part of the Django users interface, but mostly it has it's own 'Users'.

My problem comes along when I try and give a user their account questions (similar to if you forget a password to a website). When I try to do that it throws this error:

Database Error at admin/password/user

relation "password_user_answered_questions_id_s" does not exist
LINE 1: SELECT CURRVAL('"password_user_quest...
              ^

Does anyone know what might cause this error? I have tried resetting the db (didn't think it would do anything but just wanted to be sure) and have also poked around in the db using phppgadmin and found that everything else is getting stored correctly except this one. It is using a ManyToMany field when assigning it so that a user can have multiple questions and a question can be used by multiple users.

like image 729
CF711 Avatar asked Oct 20 '25 10:10

CF711


1 Answers

The reason is most likely that the

relation "password_user_answered_questions_id_s" does not exist

Just like the error message informs us. Are you aware of how PostgreSQL handles identifiers?

Also, sequences are usually named *_seq. Letters missing from the end?


About maximum length of identifiers - I quote the manual from the link above:

The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes. If this limit is problematic, it can be raised by changing the NAMEDATALEN constant in src/include/pg_config_manual.h.

Bold emphasis mine. Seems like you should shorten your identifiers a bit.

like image 66
Erwin Brandstetter Avatar answered Oct 22 '25 00:10

Erwin Brandstetter



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!