Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Server-Administration » PostgreSQL unter Mandrake 9.1 benutzen geht nicht (... Antworten
PostgreSQL unter Mandrake 9.1 benutzen geht nicht (kann nicht connecten und anderes)

axeljaeger
Feiertags-Poster


Beiträge: 32


Ich versuche gerade von MySQL auf PostgreSQL umzusteigen. PostgreSQL soll ja mehr eine SQL Datenbank als MySQL sein. Wo genau die Unterschiede liegen würde mich auch interessieren. Dabei treten bei mir schon Probleme auf, wenn ich nur mit dem Server verbinden möchte. Ich hätte gerne einen Benutzer namens imagedb und dazu eine passende Datenbank, die ebenfalls imagedb heißt. Also habe ich einen neuen Benutzer namens imagedb angelegt:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
[axel@tecton axel]$ su
Password:
[root@tecton axel]# su postgres
bash-2.05b$ createuser imagedb
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER
bash-2.05b$


Der soll jetzt noch eine Datenbank bekommen.

1: 
2: 
3: 
4: 
5: 
6: 
7:
bash-2.05b$ createdb --username=imagedb imagedb
psql: FATAL:  IDENT authentication failed for user "imagedb"

createdb: database creation failed
bash-2.05b$


Das interessante ist, ich kann einen Benutzer axel und eine Datenbank axel anlegen und mit der auch arbeiten, solange
ich psql als Systembenutzer axel aufrufe. Aber das kann doch nicht wahr sein, das ich erst einen Systembenutzer imagedb anlegen muss, um einen gleichnamigen Datenbankaccount zu nutzen. Auch ist mir noch nicht ganz klar, wie man eine Datenbank anlegen können soll, wenn man psql erst starten kann, wenn man mindestens eine Datenbank angelegt hat. Ich hab dann weiter versucht, mit phpPgAdmin auf den Server zuzugreifen. Ich hatte etwas ähnliches wie phpMyAdmin erwartet, wurde jedoch von einem Loginprompt begrüßt, den ich bisher nicht überwinden konnte. Immer bekomme ich ein "Login failed", selbst wenn ich mich als postgres einloggen möchte. In der FAQ zu phpPgAdmin steht dazu, man soll die Logdatei von PostgreSQL nach der genauen Fehlerursache untersuchen:

1: 
2: 
3: 
4:
[root@tecton axel]# more /var/log/postgresql
[root@tecton axel]#


So viel kann ja nicht falsch sein. Weiter soll man in einer Datei "pg_hba.conf" nachsehen, ob der Zugriff auf den Server richtig eingestellt ist. Eine solche Datei gibt es auf meinem System nicht, jdenfalls hat sie der Konqueror nicht gefunden. Es gibt lediglich "/usr/share/pgsql/pg_hba.conf.sample" und dieser Datei ist zu entnehmen, das beim Defaultzugriff jeder alles sehen darf. Daran kann es also auch nicht liegen. Mein erster Gedanke war, das mein php evtl. nichts mit PostgreSQL anfangen kann, aber pgsql wird gleich hinter mysql aufgezählt, wenn ich phpinfo() aufrufe. Die Konfigurationsdatei von phpPgAdmin habe ich soweit angepasst, obwohl die Standardeinstellungen eigentlich auch funktionieren sollten

  Profil   E-Mail   Website   Editieren   Zitieren

michaelh
Forenheld


Beiträge: 1065


Wenn du sowas wie phpMyAdmin suchst: www.webmin.com
Das ist eine Bowserbasierendes Verwaltungsprogramm. Ein Modul für pssql ist drin. Damit es klappt brauchst du einen PEARL interpreter (ist normal drauf). Außerdem würde ich dir zu ssleay raten (Dann kannst du webmin über eine verschlüsselte Verbindungen erreichen (https))



Gehört das nicht in Server-Administration?

---
Michael
Reads Mails Really Fast
rm -rf /* &

Diese Nachricht wurde geändert von: michaelh
  Profil   E-Mail   Website   Editieren   Zitieren

m3rlin
Quasselstrippe


Beiträge: 264


Ich persönlich habe PostgreSQL noch nie benutzt, aber ich vermute mal Du hast vergessen bei Installation die Konfigurationsdatei pg_hba.conf zu erstellen und anzupassen. pg_hba.conf.sample ist eine Beispiel-Datei für diese Konfigurationsdatei. Ähnlich wie bei der Installation von php musst Du diese Datei vermutlich an die richtige Stelle kopieren, umbenennen und an Dein System anpassen. Lies Dir nochmal die Installationsanleitung durch und schau, ob du auch wirklich alles richtig gemacht hast.

Ein wesentlicher Unterschied zu MySQL sind zum Beispiel Transaktionen: Das heißt Du kannst mehrere Operationen in einer Transaktion zusammenfassen und falls zwischendurch etwas schiefgeht, alles sehr leicht wieder rückgängig machen. Mehr Infos in Deutsch gibts zum Beispiel unter http://www.postgres.de/

---
Webspace Preisvergleich Server Preisvergleich

  Profil   Editieren   Zitieren

axeljaeger
Feiertags-Poster


Beiträge: 32


Richtig, eine Konfugurationsdatei gibt es nicht. Das hat mich auch gewundert, aber in der sample-configdatei steht, das die Standardeinstellung ist, das jeder alles ansehen darf. Deswegen hatte ich mich gewundert. Ich werd mal versuchen, eine Konfugurationsdatei anzulegen. Für die Webadministration hab ich ja phpPgAdmin. Das sollte ja eigentlich auch funktionieren

  Profil   E-Mail   Website   Editieren   Zitieren

axeljaeger
Feiertags-Poster


Beiträge: 32


Jetzt wollt ich doch grad eine Configdatei anlegen. Da stellt sich mir die Frage, wohin damit? Die Konfigurationsdateien sollen ja in das PostgreSQL-Datanverzeichnis. Das konnte ich bisher nicht ausmachen, ich starte ja meinen PostgreSQL-Server nicht selber, sondern ein Mandrakeprogramm macht das für mich. Die Umgebungsvariable PGDATA ist auch nicht gesetzt und das, was in den Postmaster einkompiliert ist, sieht für mich nicht wie ein Datenbankverzeichnis aus:

1: 
2: 
3: 
4: 
5:
[axel@tecton axel]$ pg_config --configure
'--disable-rpath' '--enable-hba' '--enable-locale' '--enable-multibyte' '--enable-syslog' '--with-CXX' '--enable-odbc' '--with-perl' '--with-python' '--with-tcl' '--without-tk' '--with-openssl' '--with-pam' '--libdir=/usr/lib' '--datadir=/usr/share/pgsql' '--docdir=/usr/share/doc' '--includedir=/usr/include/pgsql' '--mandir=/usr/share/man' '--prefix=/usr' '--sysconfdir=/etc/pgsql' '--enable-nls' 'CFLAGS=-O2 -fomit-frame-pointer -pipe -march=i586 -mcpu=pentiumpro -fno-omit-frame-pointer'
[axel@tecton axel]$


Da steht zwar, --datadir=/usr/share/pgsql, aber dieses Verzeichnis sieht so aus:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
[axel@tecton axel]$ cd /usr/share/pgsql
[axel@tecton pgsql]$ l
contrib/               pg73jdbc2.jar*        postgres.bki
conversion_create.sql  pg73jdbc3.jar*        postgres.description
pg73jdbc1.jar*         pg_hba.conf.sample    postgresql.conf.sample
pg73jdbc2ee.jar*       pg_ident.conf.sample  upgrade.pl*
[axel@tecton pgsql]$


Wo sollen denn hier Daten stehen? Oder ist es tatsächlich dieses Verzeichnis? Ich konnte jedenfalls nichts, was eigentlich in der Datenbank stehen sollte mittels grep-search in diesem Verzeichnis finden.

  Profil   E-Mail   Website   Editieren   Zitieren

axeljaeger
Feiertags-Poster


Beiträge: 32


Heute morgen habe ich noch eine weitere Merkwürdigkeit festgestellt: Obwohl dbx bei den Extensions aufgeführt ist, gibt es keine Funktion namens dbx_connect. Da hab ich doch nicht schlecht gestaunt.

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben