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: