Skip to content

Instantly share code, notes, and snippets.

@xtornasol512
Last active December 27, 2015 21:09
Show Gist options
  • Save xtornasol512/7389560 to your computer and use it in GitHub Desktop.
Save xtornasol512/7389560 to your computer and use it in GitHub Desktop.
Instalación de PostreSql y Configuración con Django.

Instalar PostGreSQL con Python y Django Debian/Derivados

Para instalar necesitamos tener unas dependencias en el sistema por ahora mostraremos en equipos Debian y Derivados. Pero primero instalares actualizaciones y MySQL


Actualizaciones del sistema

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

Instalación de PostGreSQL

Instalamos postgreSQL

$ sudo apt-get install libpq-dev python-dev

$ sudo apt-get install postgresql postgresql-contrib

Crear una base de datos y un usuario para la BD

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

Instalando driver psycopg2 de Python con PIP

Hasta aquí es todo sólo procedemos a instalar Pip en nuestro entorno virtual o globalmente.

$ pip install psycopg2

Resumen

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

Recomendaciones

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment