PostgreSQL: Utilizar PostgreSQL com Django
Esta documentação faz parte do guia Introdução. Consulte o guia completo aqui: Como começar com PostgreSQL.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero disponibiliza um serviço totalmente gerido de PostgreSQL cloud, concebido para garantir fiabilidade e rapidez:
- Ligações e transferências de dados ilimitadas para uma escalabilidade sem restrições.
- Interface web PgAdmin incluída para uma gestão intuitiva da base de dados.
- Extensões populares incluídas, como
PostGIS,TimescaleDBePgVector.- Atualizações simples, com um clique, mantêm a sua base de dados segura e atualizada.
- Elevada performance e forte segurança numa infraestrutura privada e dedicada.
Pode começar a utilizar o PostgreSQL cloud hosting da Stackhero em apenas alguns minutos. Beneficie de uma experiência de base de dados fiável e poupe tempo valioso na gestão dos seus dados.
Se ainda não estiver instalado, instale o módulo psycopg, que será usado para se conectar ao PostgreSQL:
pip install psycopg
Nesta etapa inicial, irá armazenar a palavra-passe diretamente no ficheiro settings.py. Este método é apenas para testes, pois não é seguro. Mais adiante nesta documentação, encontrará um exemplo de boa prática.
Abra o ficheiro settings.py e adicione a seguinte configuração:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': '<XXXXXX>.stackhero-network.com',
'PORT': <PORT>,
'OPTIONS': {
'sslmode': 'require',
},
'NAME': 'admin',
'USER': 'admin',
'PASSWORD': '<ADMIN_PASSWORD>'
}
}
Atenção: este exemplo não é recomendado para produção e destina-se apenas a fins de teste!
Uma vez que a sua conexão funcione, pode adotar um método mais seguro para armazenar credenciais. O exemplo seguinte usa django-environ e armazena credenciais num ficheiro .env.
-
Instale
django-environ:pip install django-environ -
Abra o ficheiro
settings.pye modifique-o da seguinte forma:import environ env = environ.Env() environ.Env.read_env() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': env('STACKHERO_POSTGRESQL_HOST'), 'PORT': <PORT>, 'OPTIONS': { 'sslmode': 'require', }, 'NAME': 'admin', 'USER': 'admin', 'PASSWORD': env('STACKHERO_POSTGRESQL_ADMIN_PASSWORD') } } -
Abra ou crie o ficheiro
.envno mesmo diretório quesettings.pye adicione:STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD> -
Finalmente, adicione
.envao seu ficheiro.gitignorepara garantir que as suas credenciais não sejam armazenadas no seu repositório Git:
echo ".env" >> .gitignore