Automatisches hochfahren von Postgres

Hallo zusammen,

eigentlich hat mein Problem gar nicht allzu viel mit Postgres zu tun. Aber vielleicht gibt es da auch eine interne Lösung.

Es geht darum, dass die PostgresDB beim Booten eines Servers automatisch gestartet werden soll. So dass man sich keine Gedanken mehr darüber machen muss.

Gibt es da Paramter, die man in der PostgresConfiguration einstellen kann oder muss ich da in meinem System irgendwo etwas eintragen?

Bin nicht so fit bezüglich Linux. Schonmal danke für die Hilfe.

Maik

Hallo Maik,

die Prozesse zum Starten und Stoppen werden bei der Installation normalerweise automatisch installiert.

Leider hast Du kein Betriebssystem angegeben. Für Windows kannst Du hier nachlesen:

http://www.pg-forum.de/showthread.php?t=918
http://www.pg-forum.de/showthread.php?t=939



mfg

fristo

Ups, habe ich vergessen. Ich benutze Debian testing.

Wie man händisch hoch und runter fährt ist klar. Es soll gestartet (also pg_ctl start) werden, wenn ich boote.

Die Links kann ich nicht öffnen.

Hallo Maik,

kann ich dir nicht genau sagen, da ich z.Z nicht mit UNIX arbeitet. Normalerweise werden aber auch dort die START- und STOP-Sripts automatisch installiert. Das Thema wurde hier im Forum schon des öfteren behandelt. Versuch mal etwas mit der SUCH-Funktion herauszufinden, indem Du die Namen von Distributionen eingibst. Ubuntu wurde hier zuletzt auch öfters genannt.



mfg

fristo

Hallo Maik,

schau Dir mal diesen http://www.pg-forum.de/showthread.php?t=953 Beitrag an. Ist ein ähnliches Problem!



mfg

fristo

???

Ich sehe nicht ganz wo da der Zusammenhang ist.

Hallo Maik,

ich kann Dir nicht sagen, welche Rechte die Links haben. Bei einer Standard-Installation wird ein User “postgres” angelegt, der die Rechte an der Ausführung den Programmen hat. Versuch dich daher mal als User postgres einzuloggen und starte die Programme aus dem Verzeichnis, indem sie installiert wurden.

PS: Wie lautet den die Fehlermeldung, wenn du den Link öffnen willst?



mfg

fristo

Ich glaube wir reden aneinander vorbei.

Es funktioniert alles!

Das einzige was ich möchte ist, dass ich nicht nachdem ich den Server neu gebootet habe, jedes mal pg_ctl start machen muss. So dass jemand der sich nicht mit Postgres auskennt einfach neu booten kann ohne etwas machen zu müssen. Das soll praktisch automatisiert werden. Ich weiß lediglich nicht wie ich das realisieren kann.

EDIT: Jetzt weiß ich warum wir aneinander vorbeireden. Mit den Links die ich nicht öffnen kann meinte ich die Links die oben gepostet wurden. Nicht die Links für die Scripte/Programme für Postgres. ^^

Hallo Maik,

das man Links nicht öffnen kann ist eigentlich neu. Mal schauen was Xandrian dazu sagt.

Einer der Links betraf das Forum “Häufig gestellte Fragen (FAQ)” Beitrag “Installation von PostgreSQL unter Windows”. Solltest Du dir unbedingt durchlesen, da es auch Background-Information zur Installation liefert. Was bei Dir nicht funktioniert wird dort Dienst genannt.

Da ich z.Z. nicht mit Unix arbeite, kann ich dir nur Anhaltspunkte liefern. Ich gehe aber davon aus, dass Du dich mit UNIX auskennst. Bei deiner Installation ist etwas falsch gelaufen oder Du muss es händisch installieren. Es sollte ein Script geben, vielleicht heißt es postgresql, mit dem man automatisch den Datenbankserver mittels des Parameter START oder STOP startet oder stoppt. Der Aufruf dieses Script erfolgt aus einem Verzeichnis (???) wo das Betriebssystem beim Booten und Herunterfahren nachschaut, welche Scripts ausgeführt werden sollen. In diesem Verzeichnis fehlen die Scripts mit den Aufrufen für PostgreSQL.



mfg

fristo

Ich kenne mich leider nicht so dolle mit Linux aus. Aber ich weiß jetzt wonach ich suchen muss.

Danke für die Hilfe.

Ich berichte dann wenn es klappt. Kann allerdings eine Weile dauern, da noch wichtigere Dinge in der “Warteschlange” stehen.

Du hast Postgres vermutlich selbst übersetzt, anstatt es aus dem Repository zu installieren. Kannst du nicht das Postgres verwenden, das deine Distribution mitbringt?

apt-get install postgres-7.4 oder apt-get install postgres-8.1 hilft dir weiter.

Falls du deine installierte Version verwenden willst, brauchst du ein init-Script, welches du nach /etc/init.d/ kopierst und in den Runlevel 2 (/etc/rc2.d) verlinkst. Das Init-Script gibts da:

On Linux systems either add 
/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data to /etc/rc.d/rc.local or look at the file contrib/start-scripts/linux in the PostgreSQL source distribution.

http://developer.postgresql.org/pgdocs/postgres/server-start.html

hi,

bei den sourcen wird auch das init-skipt mitgeliefert. das liegt irgendwo unter dem contrib verzeichnis. musst mal schauen.

cu tb.

Sag ich doch! Oder im Heise-Sprech: “HELD!1!” :p

Ok, danke. Es funktioniert jetzt mit Domskis Tip.

unter /etc/init.d/ findest du postgresql-8.1

mit dem Befehl

update-rc.d postgresql-8.1 defaults

kannst du dem Debian beibringen, dass er postgresql automatisch startet.

Wenn du postgresql-8.1 nicht per deb Paket installiert haben solltest,
dann würde ich dir raten dies zu Überdenken.

Mit apt-get update, danach apt-get install postgresql-8.1 kannst du
postgresql mit allem was dazu gehört installieren.

Natürlich muss in deiner /apt/sources der ftp zugang von debian.org eingetragen sein.

Hallo Maik, hallo in die Runde …

unter Linux stehen (bei sysv-init) etliche Scripte unter /etc/init.d/etc/init.d/rc3.d/

wobei ‘rc.3.d’ für runlevel 3 steht (normaler single user Betrieb ohne Grafik)

Wenn Du hier einen symbolischen Link auf das Start-Script ‘postgresql’ anlegst,
so bei mir

ln -s /etc/init.d/rc3.d/S14postgresql …/postgresql

und analog zum Beenden

ln -s /etc/init.d/rc3.d/K10postgresql …/postgresql

passiert das gewünschte automatisch

Details dazu in den Linux How To’s, die ihr euch selbst heraussuchen könnt. Nur soviel:

‘S’ steht für Start, die Nummer für die Reihenfolge, je höher, desto später.
Analog steht ‘K’ für Systemstop (Kill)

Single User ist in der Regel Level 1, 2 ist dann Multi User. Manchmal wird noch zwischen vorhandenem und nicht vorhandenem Netzwerk unterschieden. Ob und welcher Runlevel überhaupt gebootet wird und ob dies 2, 3 oder vielleicht 5 ist, wird bei init angegeben.

Deine Infos sind also falsch.

Zusätzlich: wie bereits weiter oben beschrieben, gibt es Tools in den einzelnen Betriebssystemen, die diese Arbeit abnehmen und sinnvolle Defaultwerte einstellen. Es bringt nichts, 2 Seiten Text zu schreiben, die letztendlich nicht oder nur unzulänglich funktionieren.