Unable to correctly restore postgres data: I get the same error I usually get if I haven't run syncdb and migrate
Try those same steps WITHOUT running syncdb and migrate at all. So overall, your steps will be:
heroku pg:backups capture
curl -o latest.dump heroku pg:backups public-url
`scp -P  latest.dump myuser@example.cloudapp.net:/home/myuser
drop database mydb;
create database mydb;
pg_restore --verbose --clean --no-acl --no-owner -U myuser -d mydb latest.dump
I have a Django app with a postgres backend hosted on Heroku. I'm now migrating it to Azure. On Azure, the Django application code and postgres backend have been divided over two separate VMs. 
Everything's set up, I'm now at the stage where I'm transferring data from my live Heroku website to Azure. I downloaded a pg_dump to my local machine, transferred it to the correct Azure VM, ran syncdb and migrate, and then ran pg_restore --verbose --clean --no-acl --no-owner -U myuser -d mydb latest.dump. The data got restored (11 errors were ignored, pertaining to 2 tables that get restored, but which my code now doesn't use).
When I try to access my website, I get the kind of error that usually comes in my website if I haven't run syncdb and migrate: 

Exception Type:   DatabaseError Exception Value:  
relation "user_sessions_session" does not exist LINE 1:
  ...last_activity", "user_sessions_session"."ip" FROM "user_sess...
                                                               ^
Exception Location:
    /home/myuser/.virtualenvs/myenv/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py
  in execute, line 54

Can someone who has experienced this before tell me what I need to do here? It's acting as if the database doesn't exist and I had never run syncdb. When I use psql, I can actually see the tables and the data in them. What's going on? Please advise.