postgres 8.3 Installaton unter Debian, Zugriff über pgadmin, Win

Hallo Zusammen

Ich weiss es gibt schon ein paar Einträge über dieses Thema, ich komme aber einfach nicht weiter:

Ich habe mit
apt- get update und apt- get install postgresql
postgres 8.3 auf debian 5 installiert.

Nun habe ich mit Windows versucht (pgAdmin) auf diesen Server, zuzugreiffen geht aber nicht weil meine Konfig noch nicht stimmt.

Mit “netstat -lap |grep LISTEN” sehe ich dass mein Server nur auf den localhost hört.

Um das hinzubekommen heisst es man soll in:

/etc/postgresql/postgresql.conf

“tcpip_socket = true” stellen,

nun ich habe in dieser Datei keinen Eintrag von tcpip_socket, es gibt listen_adresses = ‘localhost’

laut Beschreibung muss ich ein * anstatt localhost haben damit der zugriff von aussen möglich ist. -> ist nur für den ersten Test, natürlich werde ich danach schon den ip-bereich eingrenzen ;o)

dann muss man ja anscheinend noch was in der:
pg_hba.conf machen, da sich sonst nur localhost anmelden kann.

was muss ich da machen damit mal alle können *, und wie muss ich das nachher im ip bereich angeben z.B. 192.168.1.0

Und das wichtigste wenn ich die EInstellungen gebmacht habe, was muss ich neu starten damit die neue config auch greifft?

Vielen Dank ich weiss sind viele Fragen ;o)

Aktuell ist 8.4 …

Nun habe ich mit Windows versucht (pgAdmin) auf diesen Server, zuzugreiffen geht aber nicht weil meine Konfig noch nicht stimmt.

Mit “netstat -lap |grep LISTEN” sehe ich dass mein Server nur auf den localhost hört.

Um das hinzubekommen heisst es man soll in:

/etc/postgresql/postgresql.conf

“tcpip_socket = true” stellen,

nun ich habe in dieser Datei keinen Eintrag von tcpip_socket, es gibt listen_adresses = ‘localhost’

laut Beschreibung muss ich ein * anstatt localhost haben damit der zugriff von aussen möglich ist. -> ist nur für den ersten Test, natürlich werde ich danach schon den ip-bereich eingrenzen ;o)

Ja, listen_adresses auf ‘*’ stellen. Damit lauscht er erst einmal auch auf dem Netz. Anmelden kann an sich dann aber noch immer nicht …

dann muss man ja anscheinend noch was in der:
pg_hba.conf machen, da sich sonst nur localhost anmelden kann.

Exakt. hba = Host Based Authentification.

was muss ich da machen damit mal alle können *, und wie muss ich das nachher im ip bereich angeben z.B. 192.168.1.0

Die Datei pg_hba.conf hat einen großen Vorteil: sie ist sehr gut dokumentiert. Schon mal reingeschaut?

host all all 192.168.1.0/24 md5

wäre ein Anfang, um als gültiger DB-Benutzer sich an jeder bestehenden DB mit Passwort anmelden zu können. Die anderen Möglichkeiten erschließen sich Dir durch lesen der Doku.

Und das wichtigste wenn ich die EInstellungen gebmacht habe, was muss ich neu starten damit die neue config auch greifft?

Vielen Dank ich weiss sind viele Fragen ;o)

Für das Netzwerk-lauschen ist ein Neustart von PG nötig, für Änderungen an der pg_hba.conf reicht ein Neustart.


Andreas

Sorry, für pg_hba.conf reicht ein Reload. Danke an ads.

Andreas

hallo vielen dank für die tollen antworten super !!

Sorry, für pg_hba.conf reicht ein Reload. Danke an ads.

was heisst das ein reload machen, was für ein befehl muss ich da eingeben?

und was ist wenn ich was an postgresql.conf ändere, auch ein reload?

wie mache ich einen neustart der PG? oder meinst du ein Neustart vom ganzen System? also ein reboot?

vielen dank, adifl

PS: noch was, wie machst du das mit den “Zitat von username ->” in diesem Forum? finde ich noch nützlich ;o)

/etc/init.d/postgresql-8.4 reload

und was ist wenn ich was an postgresql.conf ändere, auch ein reload?

Zumindest wenn grundlegende Dinge geändert werden, ist ein Neustart der DB nötig. Bei einigen Einstellungen reicht auch da ein Reload.

wie mache ich einen neustart der PG? oder meinst du ein Neustart vom ganzen System? also ein reboot?

Siehe oben, nur restart. Rest der Fragen: nein.

vielen dank, adifl

PS: noch was, wie machst du das mit den “Zitat von username ->” in diesem Forum? finde ich noch nützlich ;o)

Ja, finde ich auch nützlich :wink:


Andreas

Unter jedem Beitragen ist ein “Zitieren”-Knopf, der erledigt das automatisch :wink:

Hallo zusammen

Vielen Dank für die tollen Infos…

Leider geht es immer noch nicht ganz… das heisst ich kann von aussen immer noch nicht zugreiffen, vielleicht könnt ihr mir noch einmal helfen ;o)

 netstat -lap|grep LISTEN
tcp        0      0 *:sunrpc                *:*                     LISTEN      1653/portmap
tcp        0      0 *:46772                 *:*                     LISTEN      1664/rpc.statd
tcp        0      0 *:ssh                   *:*                     LISTEN      2687/sshd
tcp        0      0 localhost :p ostgresql    *:*                     LISTEN      3965/postgres
tcp        0      0 localhost:smtp          *:*                     LISTEN      2122/exim4
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      2687/sshd
tcp6       0      0 localhost :p ostgresql    [::]:*                  LISTEN      3965/postgres

ich nehme mal an, dass bei

tcp        0      0 localhost :p ostgresql    *:*                     LISTEN      3965/postgres

anstatt localhost das * kommen müsste oder ein netzbereich oder?

ist das 3965 der Port? Müsste das nicht der Port 5432 sein. so wie in postgresql.conf angegeben? muss ich das sonst noch wo umstellen?

Was ich bis jetzt gemacht habe:

in postgresql.conf ->listen_addresses = ‘*’

in pg_hba.conf:

# Database administrative login by UNIX sockets
local   all         postgres                          ident sameuser

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
#host    all         all         127.0.0.1/32          md5
host    all         all         10.112.71.0/24        trust
# IPv6 local connections:
host    all         all         ::1/128               md5

Ich habe in einer alten config ein trust gefuden anstatt md5 für was ist das md5? ist das eine überprüfungsfile oder sowas??

Vielen Dank…

Nein. -lap, durch das -p bekommst Du die PID. Diese könnte natürlich zufälligerweise auch mal 5432 sein. Muß aber nicht.

Was ich bis jetzt gemacht habe:

in postgresql.conf ->listen_addresses = ‘*’

in pg_hba.conf:

Database administrative login by UNIX sockets

local all postgres ident sameuser

TYPE DATABASE USER CIDR-ADDRESS METHOD

“local” is for Unix domain socket connections only

local all all ident sameuser

IPv4 local connections:

#host all all 127.0.0.1/32 md5
host all all 10.112.71.0/24 trust

IPv6 local connections:

host all all ::1/128 md5

>
> Ich habe in einer alten config ein trust gefuden anstatt md5 für was ist das md5? ist das eine überprüfungsfile oder sowas??
>
> Vielen Dank...

MD5 ist eine Authentifizierungsmethode, dabei wird das Password md5-gehascht übertragen.
\
\
Frage: welche IP hat Dein Client, und wie lautet die Fehlermeldung?

Andreas

Ja. Hast Du die richtige conf bearbeitet, Server neu gestartet?


Andreas

Hallo

Mein Rechner hat
ip: 10.112.71.151, 255.255.255.0
Gateway: 10.112.71.254

Fehlermeldung vom client:

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "10.112.71.148" and accepting TCP/IP connections on port 5432?

md5:
das würde heissen, dass ich dem client mitteilen muss, dass er das paaswort mit md5 haschen muss? md5 hat für mich etwas mit kontrollsumme zu tun, für mich macht das aber bei einem passwort keinen sinn oder doch? was bedeutet gehascht -> verschlüsselt?? kann ich dort das “trust” anstatt dem “md5” lassen oder ist das md5 in diesem Fall entscheidend?

ja ich habe mit vi in /etc/postgresql/8.3/main/postgresql.conf und pg_hba.conf bearbeitet, wie unten “besprochen” :astonished: ) gibts noch anderswo diese dateien??

Nun denn, funktioniert denn eine Netzwerkverbindung zu diesem Port von deinem Rechner aus? Es gibt dieses nette Tool, “telnet” (oder telnet.exe unter Windows), mit dem man so etwas testen kann.



md5:
das würde heissen, dass ich dem client mitteilen muss, dass er das paaswort mit md5 haschen muss?

Darum kümmert sich die Datenbank alleine.

Client und Server im selben Netz? Warum betonst Du das Gateway?
Sind Branschutzmauern aka Firewalls im Spiel? Iptables uf dem Server?

Fehlermeldung vom client:

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host “10.112.71.148” and accepting TCP/IP connections on port 5432?

>
>
> > md5:
> das würde heissen, dass ich dem client mitteilen muss, dass er das paaswort mit md5 haschen muss? md5 hat für mich etwas mit kontrollsumme zu tun, für mich macht das aber bei einem passwort keinen sinn oder doch? was bedeutet gehascht -> verschlüsselt?? kann ich dort das "trust" anstatt dem "md5" lassen oder ist das md5 in diesem Fall entscheidend?
>

Das md5 dient nur der Sicherung des Transportweges. Du kannst auch TRUST nehmen, kommt halt drauf an, ob Du allen, die via Netz Zugang haben, vertraust.

Ich bin *etwas* irritiert, ob das nun ein LAN ist oder da das böse Internet zwischen Client und Server ist.
\
\
Andreas

Vielen Vielen Dank, es geht ;o) war ein restart nötig… das hab ich nicht mehr gemacht…

danke

seufz

Und dafür soviel Stress.