Para instalar necesitamos tener unas dependencias en el sistema por ahora mostraremos en equipos Debian y Derivados. Pero primero instalares actualizaciones y MySQL
Actualizar Sistema lo hacemos con los siguientes comandos
$ sudo apt-get update
$ sudo apt-get upgrade
NOTA: Cada Sistema tiene sus comandos para actualización, si es que tu máquina no es derivada de Debian buscalos :D
Instalamos postgreSQL
$ sudo apt-get install libpq-dev python-dev
$ sudo apt-get install postgresql postgresql-contrib
Ahora crearemos la BD a la que se conectara DJango y un Usuario con Passwd para que acceda a ella.
$ sudo su - postgres
postgres@yourserver $ createdb mydb
Esto creara la base de datos 'mydb', ahora hacemos al Usuario que nos pedirá contestar unas preguntas con passwd y otras más
postgres@yourserver $ createuser -P
Enter name of role to add: myuser
Enter passwd for new rule: mypassswd
Repeat Passwd: mypassswd
Tip En postgreSQL 9.3+ : Para crear un usuario(rol) se debe hacer con el siguiente comando
postgres@yourserver $ createuser -P myuser --interactive
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
Las otras 3 preguntas responder con "n" y presionar "enter" Porque solo le daremos permiso de entrar a esa bd y nada más. Ahora Damos permisos a la Base de datos
postgres@yourserver $ psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
NOTA: Cuando entramos a postgresql cambia el prompt postgresql@yourserver $ y cuando entramos a poner código sql nos cambia de nuevo el prompt a postgresql=# es normal en todos los casos :D
Comandos para salir de las consolas
postgres=# \q
postgres@yourserver $ exit
Comandos básicos de postgresql
Muestra la version de postgreSQL
$ psql --version
Elimina una BD
postgres@yourserver $ dropdb myDB
Hasta aquí es todo sólo procedemos a instalar Pip en nuestro entorno virtual o globalmente.
$ pip install psycopg2
Como podrás ver ahora puedes crear DB y Usuarios para cada Proyecto de Django.
Aquí un ejemplo del código que pondremos en el Settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': 'mypasswd',
'HOST': 'localhost',
}
}
Podrás probarla con:
python manage.py syncdb
Siempre que crees proyectos de Django crea tu Entorno Virtual dedicado para el Siempre que Crea un Usuario y una BD para cada proyecto. En entornos de equipo es recomendable todos usar la misma BD para desarrollo y deploy. Aprender usar South Enjoy Django!