[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pgadmin3 und postgresql server



On 25.04.06 22:42:15, Norman Bundey wrote:
> Andreas Pakulat schrieb:
> >On 25.04.06 21:13:00, Norman Bundey wrote:
> >>---------------schnipp------------------
> >>Adresse : localhost
> >>Beschreibung: DB1
> >>Service: -"frei gelassen"
> >>port: 4532 ssl: -"frei gelassen"
> >>Anfängliche DB : template1
> >>benutzername: postgres
> >>benötigt passwort: haken
> >>passwort: -"frei gelassen"
> >>---------------schnapp------------------
> >Wieso hast du kein PW eingetragen fuer den User Postgres? Oder willst du
> >uns das nicht verraten ;-)
> >Weiterhin: Der User "postgres" ist fuer Administrative Zwecke gedacht,
> >lege einen neuen DB-Benutzer an (als root su - postgres -c "createuser")
> >und setze ein Passwort fest. Unter dem Account solltest du dann
> >arbeiten.
> 
> für den postgres user ist doch im normalfall kein passwort eingetragen... wenn 
> ich nicht irre. jedenfalls

Richtig, genau deswegen kannst du dich nur unter 2 Bedingungen als
postgres User einloggen:

1. Du bist der postgres-User, also uid(self)==uid(postgres), das geht
dann auch ohne das -h localhost ueber den Unix-Socket

2. Du legst fuer deine uid fest dass es ihr auch erlaubt ist sich als
postgres-User an der DB anzumelden (Config-Datei pg_ident.conf).

Wenn du erstmal DB-Zugang hast solltest du auch das PW von postgres
setzen koennen und dementsprechend kannst du dann auch als beliebiger
User psql -h localhost -U postgres template1 machen und das PW angeben
(sofern md5-PW-Auth aktiviert ist und nicht ident-Auth fuer TCP/IP).

> >Um zu pruefen ob du dich ueberhaupt einloggen kannst ist psql sehr
> >hilfreich:
> >psql -h localhost template1
> >Wobei das -h localhost dazu fuehrt dass eine tcp/ip Connection benutzt
> >wird, anstatt ueber den Unix-Socket zu gehen. Das ist deswegen wichtig,
> >weil per Default ueber den Unix-Socket nur ident-Authorisierung
> >stattfindet, also der PG-User der in der ausfuehrenden Shell eingeloggte
> >User sein muss.
> >Wenn du ueber psql reinkommst und ueber pgadmin3 nicht, ist pgadmin
> >"kaputt" ;-) Allerdings funktionierts hier wunderbar.
> 
> wenn ich als user (der linux user ist der gleiche wie der den ich für die 
> datenbank angelegt habe), "psql -h localhost template1" eingebe schmeißt er 
> mir diesen fehler:
> 
> psql: FATAL:  »IDENT«-Authentifizierung für Benutzer »meinbenuzter« 
> fehlgeschlagen

Das funktioniert nur wenn "meinbenutzer"==dein-unix-benutzername ist.

> hmm... also stimmt was nicht mit dem benutzer. wenn ich den postgres user 
> nehme, das selbe! was habe ich vergessen?

Haettest du das als User postgres ausgefuehrt wuerde das gehen, sprich

su - postgres
psql -h localhost template1

geht _immer_, mit und ohne -h localhost, in einer Standardinstallation.
Die Aenderung auf md5-Auth die du ja nun schon gefunden hast verhindert
dann das obiges funktioniert, dann geht nur noch psql template1 unter
der uid von postgres.

Andreas

-- 
You have an ability to sense and know higher truth.



Reply to: