Postgresql probléma

 ( spider | 2011. augusztus 20., szombat - 16:26 )

Tegnap feltelepítettem újra egy postgresql-t ftp.hu.debian.org tükörszerverről
csináltam egy usert, hozzáadtam a postgres csoporthoz

ez volt a pontos parancs
useradd –G www-data,postgres –d /home/user –p user -s

ezek után átírtam a pg_hba.conf filet:

# Database administrative login by UNIX sockets
local all all md5
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5

kiadtam a parancsot: psql -U user
és ez a hibaüzenetet kaptam:
" psql: FATAL: password authentication failed for user "user" "

megpróbáltam átírni az md5-öt trust-ra mindenhol, de az sem oldotta meg a problémát
az "ident-sameuser"-t pedig valamiért el sem akarta fogadni paraméternek...
ill. próbáltam "ident"-el is, de szintén semmi

próbáltam root-ként és próbáltam kölönféle usernevekkel belépni, de még a postgres userrel sem enged be
próbáltam "su postgres" ill "su user" után belépni de semmi
próbáltam jelszó nélkül "psql -w"-vel belépni de semmi

mit rontok el?
előre is köszönöm a segítséget!!!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Talán a createuser parancs segíthet.

Igen, a "külső" és a "belső" usernevek teljesen függetlenül működnek, csak az "ident" auth. esetén lapolódnak egymásra. Ezért "createuser" nélkül nem fog menni a belső usernév.
Alternatív megoldás: (postgres userrel belépve):
CREATE ROLE username WITH [SUPERUSER] LOGIN PASSWORD 'jelszó';

Köszi! :) sikerült megcsinálni! :)

Rakd vissza az eredeti pg_hba.conf fájlt. Ennek birtokában átléphetsz linux szinten root-ba, majd su postgres majd psql és bent vagy.
Nincs root user postgresben, hanem postgres user van, az az általad megszokott "root".
Linux parancssorban postgres userként lehet olyat, hogy createrole vagy createuser. Ha belépsz psql shellbe, akkor CREATE ROLE a barátod: http://www.postgresql.org/docs/8.1/static/sql-createrole.html
Aztán kérdés, pontosan milyen engedélyeket adtál esetleg ki.
Ehelyett
psql -U user
használd ezt:
psql dbneve -U user -h localhost.

Linuxscripting

nem egeszen ertem miacelod.egy sima user-t felvenni?
eleg a createuser

su -
su - postgres
createuser usernev -P
createdb dbname -O usernev
exit
exit

psql -h locahost -u usernev dbname

hogy az adott userrel tudsz e letrehozni db-t role-t stb az csak toled fugg mire adsz engedelyt a createusernel.