Fazer a conexão entre o django e o Postgres não é uma tarefa difícil mas se tratando de Linux, você vai precisar digitar algumas linhas de comando para fazer a instalação desse SGBD.
Instalando o PostgreSQL
Para começar, você precisa adicionar o repositório apt do Postgres ao seu sistema. Comece importando a chave GPG para os pacotes do Postgres com os seguintes comandos:
sudo apt-get install wget ca-certificateswget — quiet -0 — https://postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Agora adicione o repositorio no seu sistema
sudo sh -c ‘echo “deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs` -pgdg main” >> /etc/apt/sources.list.d/pgdg.list’
Sim eu sei, são comandos muito grandes, então não tenha vergonha e copie e cole no seu terminal ;).
Agora para finalmente instalar o Postgres, digite (ou copie) os seguintes comandos:
sudo apt-get updatesudo apt-get install postgresql postgresql-contrib
E pronto, depois disso o Postgres já deve estar instalado na sua maquina.
Criando o banco de dados
Para criar um banco de dados dentro do Postgres, primeiro conecte-se ao Postgres:
sudo su — postgrespsql
Crie um usuário e senha para seu banco:
CREATE USER 'root' WITH PASSWORD 'root';
Substitua o nome e senha root para qual você desejar.
Não se esqueça de colocar o ponto-e-vírgula no final de todo comando que digitar.
Agora crie o banco em si:
CREATE DATABASE django_postegres WITH OWNER root;
Esse comando vai criar o banco de dados e vai dar permissões para o usuário que você criou no passo anterior.
Digite \q
e em seguida exit
para sair do postgres
Conectando com o Django
Com o Postgres instalado e com as informações de usuário, senha e banco de dados, basta instalar o pacote do postgres via pip.
pip install psycopg2-binary
Agora vá no settings.py do seu projeto django para editar o dicionário DATABASES
. Antes assim:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Agora assim:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django_postgres',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
'PORT': 5432
}
}
A ENGINE
indica qual driver vai ser usado para conectar com o banco de dados. No nosso caso vai ser o que veio com o psycopg2
. O NAME
vai ser o nome do banco de dados que foi criado. O USER
vai ser o nome do usuário com permissões sobre nosso banco. O PASSWORD
é a senha do usuário. O HOST
é onde o banco está hospedado, no nosso caso está local, então será o localhost. E o PORT
será a padrão do Postgres, a 5432.
Migrações
Depois disso tudo basta criar e aplicar suas migrações:
python manage.py makemigrations
python manage.py migrate
Conclusão
Deu para ver que esse processo não é dificil, só um pouco trabalhoso por causa dos comandos longos do linux mas nada que não se possa pegar prática.
Referências:
https://tecadmin.net/install-postgresql-server-on-ubuntu/
https://medium.com/@lucas_souto/integrando-django-com-postgresql-58b3520ddf6e
Top comments (0)