2010-02-20 23 views
10

Actualmente estoy ejecutando mi sitio Django 1.1.1 con PostgreSQL 8.4.2 en el servidor activo y localmente. Cuando intento restaurar uno de mi copia de seguridad desde el servidor en vivo en mi máquina local, me sale el siguiente error al acceder a mi sitio local (http://localhost:8000):Después de una restauración de PostgreSQL, obtengo "permiso denegado para la relación django_session"

Exception Type: ProgrammingError at/
Exception Value: permission denied for relation django_session 

También consigo un error similar al acceder a todos los contenidos de una de mis modelos:

$ python manage.py shell 
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15) 
[GCC 4.4.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
(InteractiveConsole) 
>>> from myapp.models import MyModel 
>>> MyModel.objects.all() 
... 
ProgrammingError: permission denied for relation myapp_mymodel 

solía pg_dump para copia de seguridad en el servidor en vivo y dejando caer mi db local seguida por psql dbname < infile para la restauración. ¿Alguien sabe lo que está mal?

Respuesta

13

¿Obtiene el mismo error al conectarse con psql como el mismo usuario (el usuario Django se conecta como)? ¿O tiene los mismos usuarios de PostgreSQL en su sitio en vivo y en su máquina local? De lo contrario, debe volcar/volver a cargar con la opción -Ox (o --no-owner) para omitir los comandos de propiedad.

+1

no tengo los mismos usuarios de PostgreSQL mi sitio en vivo como mi máquina local. Probé el volcado/recarga con -Ox, pero ahora recibo un error diferente: la relación "django_site" no existe LINEA 1: ... "django_site". "Dominio", "django_site". "Name" FROM "django_si ... "¿Alguna idea sobre lo que podría estar pasando aquí? ¡Gracias! – mkelley33

+0

@ mkelley33: ¿descubrió por qué estaba recibiendo este nuevo error y cómo resolverlo? ¿Tiene algo que ver con ejecutar 'syncdb'? Cualquier sugerencia sería apreciada ya que ahora estoy en el mismo barco. –

0

1) Crear la base de datos de volcado

$ pg_dump -Fc mydb > db.dump 

2) Eliminar la base de datos

$ dropdb mydb 

3) Volver a crear desde el vertedero

$ pg_restore -C -d postgres db.dump 
Cuestiones relacionadas