Como deixar o python / django acessar o postgres db sem precisar do sudo -u

1

Ainda novo na instalação do Linux / django / python / postgres.

Instalei o mais recente kubuntu 11.04, instalei os pacotes postgres e django. Eu criei um django_login no postgres com um banco de dados django_db, para o django usar.

Quando estou no palco para criar o framework base do django no banco de dados, tenho alguns problemas. Funciona bem se eu digitar

sudo -u django_login python manage.py syncdb

mas não funciona quando não uso o sudo -u django_login . No entanto, minha conta é superadmin no postgres e, Eu criei uma conta do sistema django_login e minha conta faz parte deste grupo.

o que eu senti falta?

    
por Iain 29.04.2011 / 06:54

3 respostas

1

Você perdeu a conta criada no PostgreSQL para ser usada por uma conta do sistema ( ident ). Se você quer que uma conta use um nome de usuário e senha através da biblioteca cliente do PostgreSQL, então você precisa usar um dos outros métodos de autenticação .

    
por 29.04.2011 / 07:17
1

A maneira mais fácil de permitir que o django efetue login em seu banco de dados Postgresql está usando senhas. Abra o seu arquivo pg_hba.conf (/etc/postgresql/8.4/main/pg_hba.conf). Mude a linha

local   all   all   ident

para

local   all   all   md5

Agora, o Postgresql permitirá que o django efetue login usando nome de usuário e senha, em vez de exigir o sistema de identificações internas do Unix.

    
por 29.04.2011 / 09:01
0

Tente especificar no arquivo settings.py 127.0.0.1 como o host do banco de dados. Desta forma, o django usa um método de autenticação diferente.

    
por 29.04.2011 / 08:18