Django + Postgresql - Configuración inicial del entorno



Trabajando con Postgresql

/images/dj+postgresql+python.png

En reiteradas ocaciones tuve que instalar y configurar un entorno de desarrollo para django con postgres, por lo que me hice esta pequeña guia.

Instalamos:

sudo aptitude install postgresql pgadmin3

Una vez finalizada la instalación, continuamos con la configuración. Tengan especial atención al usuario que ejecuta el comando. user@equipo es tu usuario, root@equipo es el root del sistema. postgres@equipo es el usuario postgres del sistema (se creará una vez finalizada la instalación del motor).

Nos pasamos al usuario root

user@equipo:$ sudo -i

Establecemos una clave al usuario postgres (recordala!)

root@equipo:# passwd postgres
root@equipo:# exit

Como usuario normal nos pasamos al usuario postgres, nos pedirá el pass

user@equipo:$ su - postgres
postgres@equipo:$

Creamos usuario y base de datos

postgres@equipo:$ createuser user
postgres@equipo:$ createdb db1

Establecemos la clave del usuario y los permisos de este sobre la base de datos

postgres@equipo:$ psql template1
template1=# \password user
template1=# GRANT ALL PRIVILEGES ON DATABASE db1 to user

Habilitar el acceso a usuarios locales mediante password

sudo vim /etc/postgresql/9.4/main/pg_hba.conf  # puede cambiar el numero de versión en tu sistema

Buscar las lineas:

# "local" is for Unix domain socket connections only
local   all            all                      peer

Cambiar por:

local   all            all                      md5

Reiniciar el servicio

sudo services postgresql restart

Probamos la conexión a la nueva base de datos con el nuevo usuario

psql -U user -W db1

Password for user user:
psql (9.4.4)
Type "help" for help.

user=>

Éxito!

Importar base de datos

Es común importar a la base de datos vacia un dump de otra base. Esto es sencillo. Suponiendo que el dump de la base de datos se llama dump.sql y te encuentras en la misma carpeta, ejecutá:

psql -U user -W db1 < dump.sql

Te solicitará la contraseña y comentará a importar cada instrucción del archivo.

Suerte! y cualquier cosa dejá un comentario.

Bye!

Comentarios


Comments powered by Disqus