PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Test ob PostgreSQL - Database erreichbar ist?



pixel
12.10.04, 16:24
Hi@all,

ich habe auf dem Server (SuSE-9.1) PostgreSQL eingerichtet, gestartet und anschließend einen User angelegt sowie eine Database.

Wie kann ich nun testen ob der Server korrekt läuft und die Database erreichbar ist.

Kennt jemand eine brauchbare deutsche Seite die sich mit PostgreSQL befasst?

Viele Grüße
pixel

rkauskh
12.10.04, 19:57
Hi

Auf dem lokalen Rechner sollte dir in der Konsole pgsql eine Antwort geben ob du die Datenbank erreichen kannst. Der zugehörige Prozess heißt postmaster. Aber wenn du einen User angelegt und eine Datenbank erstellt hast läuft sie und ist erreichbar. ;)
Für die Verwaltung von einem Client aus empfehle ich Tools wie PGAdmin III. Nix für einen Fan der Konsole, aber mit der grafischen Oberfläche läßt sich gut der Überblick behalten.

Als Seite würd ich es mal mit postgresql.de versuchen und mit den Auszügen aus dem Postgresql-Buch von Cornelia Boenigk. Ich hab mir das Buch gekauft und kann es nur empfehlen.

MfG
rk ;)

pixel
12.10.04, 22:19
Hi,

du meinst sicher psql ;) Seltsam ist nur das wenn ich zuerst (vorher bin ich root) 'su -l -m postgres' mache und anschließend ein 'psql -l' mache erhalte ich:

Liste der Datenbanken
Name | Eigentümer | Kodierung
--------------+--------------+-----------
openexchange | openexchange | UNICODE
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(3 Zeilen)

Was für mich ganz gut aussieht. Ich der Datei /var/lib/pgsql/datapostgresql.conf habe ich folgende Änderungen vorgenommen:



#---------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#---------------------------------------------------------------------------

# - Connection Settings -

tcpip_socket = true
max_connections = 100
# note: increasing max_connections costs about 500 bytes of shared
# memory per connection slot, in addition to costs from shared_buffers
# and max_locks_per_transaction.
#superuser_reserved_connections = 2
port = 5432
#unix_socket_directory = ''
#unix_socket_group = ''
#unix_socket_permissions = 0777 # octal
#virtual_host = '' # what interface to listen on; defaults to any
#rendezvous_name = '' # defaults to the computer name

# - Security & Authentication -

#authentication_timeout = 60 # 1-600, in seconds
#ssl = false
#password_encryption = true
#krb_server_keyfile = ''
#db_user_namespace = false

Außerdm habe ich in der Datei:
/var/lib/pgsql/data/pg_hba.conf

folgende Zeilen drin:


local all all trust
# IPv4-style local connections:
host all all 127.0.0.1 255.255.255.255 trust
# IPv6-style local connections:
#host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust
local all all ident sameuser

Wenn ich jedoch, immer noch als User 'postgres' mich an der Datenbank lokal anmelden möchte mit:

psql openxchange openxchange

erhalte ich:

psql: FATAL: Datenbank »openxchange« existiert nicht

Obwohl sie mir doch angezeigt wird? Kann mir jemand helfen?

Viele Grüße
pixel

rkauskh
12.10.04, 22:41
Hi

Danke, natürlich psql. :ugly:
Äähm, zu deiner Frage:
Gibst du wirklich openxchange ein, wo doch die DB openexchange heißt? Oder ist das nur hier ein Tippfehler?

MfG
rk

pixel
12.10.04, 22:55
Hi@all,

nein ich hatte wirklich zwei Schreibweisen. Also habe ich nochmal alles gelöscht (dropdb & dropuser) und habe PostgreSQL anschließend nochmal gestartet. Jetzt verstehe ich aber die Welt nicht mehr. Wie gesagt ich mache mich mit 'su -l -m postgres' von root zu postgres, also ohne Passwort einzugeben und wenn ich anschließend einen User anlegen will bekomme ich einen Fehler:



postgres@postgirl:~> createuser -pwprompt
Geben Sie den Namen des neuen Benutzers ein: openxchange
Soll der neue Benutzer Datenbanken erzeugen dürfen? (j/n) j
Soll der neue Benutzer weitere neue Benutzer erzeugen dürfen? (j/n) n
createuser: konnte nicht mit Datenbank template1 verbinden: konnte nicht mit dem Server verbinden: l@0x@
Läuft der Server lokal und akzeptiert er Verbindungen
auf dem Unix-Domain-Socket »/tmp/.s.PGSQL.0«?

Versuche ich hingegen eine Datenbank anzulegen mit:


postgres@postgirl:~> createdb test
CREATE DATABASE
postgres@postgirl:~>

funktioniert s. Wie kann das sein?

Viele Grüße
pixel

pixel
12.10.04, 23:22
Hi@all,

habe den Fehler gefunden. Somit hat sich das Problem erledigt. Danke.

Viele Grüße
pixel

rkauskh
12.10.04, 23:32
Hi

Da ich auch öfter mit Postgresql kämpfe (immer wieder dann, wenn die Hoffnung minimal größer wird als die Verzweiflung :D), kannst du mir den Fehler sagen? Bin nur neugierig. Meine Vermutung wäre, daß nach -p die Portnummer erwartet wird und die Paßwortvorgabe mit -P mitgegeben wird.

MfG
rk

pixel
13.10.04, 16:39
Hi@all,

vor dem pwprompt müssen zwei Bindestriche gesetzt werde wie fas bei allen Optionen in Langform. Ich hatte nur einen.

[falsch]
createuser -pwprompt

[richtig]
createuser --pwprompt

Eigentlich schon peinlich das ic das nicht gesehen habe :ugly:

Viele Grüße
pixel