De andre svar var ikke helt tilfredsstillende for mig. Her er, hvad der fungerede for postgresql-9.1 på Xubuntu 12.04.1 LTS.
-
Opret forbindelse til standarddatabasen med brugerens postgres:
sudo -u postgres psql skabelon1
-
Indstil adgangskoden til brugerens postgres, og afslut derefter psql (Ctrl-D):
ALTER USER postgres med krypteret adgangskode 'xxxxxxx';
-
Rediger
pg_hba.conffil:sudo vim /etc/postgresql/9.1/main/pg_hba.conf
og skift "peer" til "md5" på linjen vedrørende postgres:
lokale alle postgres
peermd5For at vide, hvilken version af postgresql du kører, skal du kigge efter versionsmappen under
/etc/postgresql. Du kan også bruge Nano eller en anden editor i stedet for VIM. -
Genstart databasen :
sudo /etc/init.d/postgresql genstart
(Her kan du tjekke om det virkede med
psql -U postgres). -
Opret en bruger med samme navn som dig (for at finde den kan du skrive
whoami):sudo createuser -U postgres -d -e -E -l -P -r -s
Indstillingerne fortæller postgresql at oprette en bruger, der kan logge ind, oprette databaser, oprette nye roller, er en superbruger og vil have en krypteret adgangskode. De virkelig vigtige er -P -E, så du bliver bedt om at indtaste adgangskoden, der vil blive krypteret, og -d, så du kan lave en
createdb.Pas på adgangskoder :det vil først bede dig to gange om den nye adgangskode (for den nye bruger), gentaget og derefter én gang postgres-adgangskoden (den angivet i trin 2).
-
Igen, rediger
pg_hba.conffil (se trin 3 ovenfor), og skift "peer" til "md5" på linjen vedrørende "alle" andre brugere:lokale alle alle
peermd5 -
Genstart (som i trin 4), og kontroller, at du kan logge ind uden -U postgres:
psql skabelon1
Bemærk, at hvis du blot laver
psql, vil det mislykkes, da det vil forsøge at forbinde dig til en standarddatabase med samme navn som dig (dvs.whoami). template1 er den admin database, der er her fra starten. -
Nu
createdbburde virke.