Problem mit PostgreSQL 8.1 + Debian Each

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
maltesimon
Beiträge: 123
Registriert: 13.07.2004 21:52:23

Problem mit PostgreSQL 8.1 + Debian Each

Beitrag von maltesimon » 30.04.2007 20:00:35

Hallo ich habe folgende Packete installiert:

postgresql-8.1
postgresql-8.1-plruby
postgresql-client-common
postgresql-common
postgresql-dev
postgresql-server-dev-8.1

Danach hatte ich das Problem das der Befehl

Code: Alles auswählen

initdb mydb
nicht gefunden wurde.
Wen ich den Befehl:

Code: Alles auswählen

export PATH=$PATH:/usr/lib/postgresql/8.1/bin
eingebe dan wird der Befehl auch gefunden.
Wie übernehme ich diesen Befehl in den "Autostart"?
Wen ich den Befehl

Code: Alles auswählen

initdb mydb
eingebe erhalte ich die Meldung:

Code: Alles auswählen

erzeuge Verzeichnis mydb ... initdb: konnte Verzeichnis "mydb" nicht erzeugen: Keine Berechtigung
Wenn ich den Prozes als root ausführe dann erhalte ich die Meldung das ich mich als unprivilegierter Benutzer anmelden soll.

Hatt wer einen Tip?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.05.2007 00:34:15

Bisschen PostgreSQL-Doku lesen bildet ;)
Also, wenn du die PostgreSQL-Befehle in deinem Pfad haben willst, dann solltest du sie in deine ~/.bash_profile eintragen.
Der Befehl initdb muss als User postgresql ausgeführt werden:

Code: Alles auswählen

su -
su postgresql
initdb mydb
Du machst dich erst zu root und wechselt dann den User auf postgresql. Damit solltest du dann initdb ausführen können.

Btw, machen das eigentlich nicht die PostgreSQL-Installationskripte bei der Installation? Mit initdb legst du keine Datenbank an sondern initialisierst das Verzeichnis, in dem der PostgreSQL-Server seine Daten ablegen soll. Auf der Kommandozeile lannst du eine Datenbank mit dem Befehl createdb anlegen oder du benutzt psql.

Sehr nett ist btw zur Administration z.B. phpPgAdmin. Damit kannst du viele Dinge komfortabel im Browser erledigen. Daneben gibt es auch noch pgadmin3 als GUI-Tool.

maltesimon
Beiträge: 123
Registriert: 13.07.2004 21:52:23

Beitrag von maltesimon » 01.05.2007 15:19:55

thx
Wo muß ich das in die ~/.bash_profile eintragen?

Einfach in die letzte zeile

Code: Alles auswählen

export PATH=$PATH:/usr/lib/postgresql/8.1/bin
eingeben?

Ich habe phppgadmin installiert wie starte ich es?

Kann ich den Autostart des PostgreSQL servers verhindern?


Es scheint als würde per default eine DB in

Code: Alles auswählen

 /var/lib/postgresql/8.1/main 
erstellt.

Gibt es eine Deutsche Doku? Ich habe versuch aus der Englischen schlau zu werden hat aber nicht gekalpt. :roll:

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.05.2007 15:29:07

Das mit der .bash_profile sollte so passen.

phpPgAdmin solltest du via http://localhost/phpPgAdmin/ erreichen (Ein Webserver wie Apache mit PHP-Support ist natürlich Pflicht, sollte aber durch das Paketsystem eh mit installiert werden). Bin mir nur grade über die Schreibweise ned ganz im klaren. Ich kenne das Debian-Paket von phpPgAdmin nun nicht genau, aber normal musst du, bevor du damit arbeiten kannst, erstmal einen User in PostgreSQL anlegen und pgpPgAdmin noch ein wenig konfigurieren. Am besten liest du mal die Doku, die unter /usr/share/doc/ zu finden sein sollte.

Den Autostart kannst du verhindern, indem du PostgreSQL aus dem Runlevel nimmst:

Code: Alles auswählen

update-rc.d -f postgresql remove
Es kann auch postgresql-8.1 sein, da bin ich mir grade nicht sicher, wie das war.

Per default sollte PostgreSQL bei der Installation, wie du schon sagst, ein Verzeichnis initialisieren, in dem später die Datenbankfiles liegen. Dabei werden normal zwei spezielle Datenbanken namens template0 und template1 angelegt, die als Basis für neue Datenbanken dienen, die du z.B. mittels

Code: Alles auswählen

CREATE DATABASE
anlegst.

Antworten