Vraag Django kan testdatabase toestemming geweigerd maken


Ik run Ubuntu 14.04 met Postgres 9.3, Python 3.0 en Django 1.7. Wanneer ik mijn toepassing probeer te debuggen van PyDev, ontvang ik het volgende:

Creating test database for alias 'default'...
Got an error creating the test database: permission denied to create database

Vreemd genoeg kan ik niet inloggen op gebruiker postgres vanaf de opdrachtregel met het wachtwoord dat oorspronkelijk is gemaakt. Ik heb het gisteravond opnieuw ingesteld en kan dit nog steeds niet.

Mijn pg_hba.conf is als volgt:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
local all postgres peer
local all stbiuser md5
local all all md5

Mijn settings.py is als volgt:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'db',
    'USER': 'user',
    'PASSWORD': 'mypass',
    'Host':'127.0.0.1',
    'PORT':'5432'
    }
}

Hoe verhelp ik het bericht dat ik de toestemming heb geweigerd? Zijn er ook aanpassingen aan de instellingen nodig?


4
2017-10-28 13:40


oorsprong


Kun je het proberen local all postgres all? - don.joey


antwoorden:


uw gebruiker heeft waarschijnlijk geen toestemming om een ​​database te maken, een terminal te openen en in te loggen als een postgress en het volgende uit te voeren

ALTER USER user CREATEDB;

5
2018-02-03 08:18



U kunt ook de createb-machtiging toevoegen wanneer u een gebruiker maakt: su - postgres dropuser - if-exist gebruiker su - postgres createuser user --createdb - tbm