PostgreSQL Datenbanken verschieben?

  • 81 Antworten
    • stoffelxx
      stoffelxx
      Bronze
      Dabei seit: 12.06.2006 Beiträge: 187
      müsste ich nachher mal gucken ob da postgreSQL ne option für hat. ansonsten geht es auf jeden fall wenn du einen dump machst, Postgres deinstallierst und auf D: oder sonstwo neu installierst um dann den dump wieder einzulesen.

      Oder leer mal deinen papierkorb :D
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von captainsepp
      Hi

      ich würde mal gern wissen, ob man die sql datenbanken von pt auch von c auf ne andere partition umlagern kann und wo man das machen kann?
      meine c is nämlich bald dicht :x
      Ja, das geht. Wenn du unter Systemsteuerung->Verwaltung->Dienste den Postgres Service raussuchst und dir die Eigenschaften anzeigen lässt, dann müsste irgendwas wie:

      C:\Programme\PostgreSQL\8.0\bin\pg_ctl.exe runservice -N "pgsql-8.0" -D "C:\Programme\PostgreSQL\8.0\data\"

      dastehen. Der Parameter "-D" sagt Postgres wo die Datenbank zu finden ist. Wenn du also den Ordner "data" umkopierst, dann musst du einfach nur den Pfad nach dem "-D" anpassen. Vorher natürlich die Datenbank anhalten!

      Gruss,
      Alex

      UPDATE:
      Man kann auch bei der Installation von PostgreSQL den Pfad des Data-Ordners direkt auswählen. Im Fenster in dem man die zu installierenden Komponenten auswählen kann, gibt es auch einen Eintrag für den Data-Ordner. Wer sich die ganze Prozedur nicht zutraut, kann also auch ein Backup machen, PostgreSQL neu installieren und das backup wieder einspielen.
    • captainsepp
      captainsepp
      Bronze
      Dabei seit: 24.01.2005 Beiträge: 480
      ah cool thx
    • MrNike
      MrNike
      Bronze
      Dabei seit: 13.03.2005 Beiträge: 2.826
      Sounds nice ...nur wie kann ich den Eintrag ändern ?

      ICh bekomm nur den aufruf angezeigt und haben keine möglichkeit ihn zu ändern.

      Win XP (64bit)

      Jemand ne Idee worans liegen könnte ?

      Greetings,

      MrNike
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Hab wie gesagt Postgres nur unter UNIX am laufen (kenn mich daher mit der Win Installation net so gut aus), aber wenn du's unter "Dienste" nicht ändern kannst, dann musst du wohl den Eintrag in der Registry anpassen. Vorher aber die DB anhalten.

      Der Eintrag ist vermutlich unter: "HKLM\CurrentControlSet\Services\Postgres" zu finden. Unter Umständen musst du dann noch neu booten - keine Ahnung ob Windows den Eintrag direkt übernimmt.

      Gruss,
      Alex
    • DwarF
      DwarF
      Bronze
      Dabei seit: 05.04.2005 Beiträge: 447
      ich kann bei mir die datenbank nicht anhalten. weiß jemand, woran das liegt? gibt es auch noch andere möglichkeiten? ganz abschalten?
    • DwarF
      DwarF
      Bronze
      Dabei seit: 05.04.2005 Beiträge: 447
      hat hier noch jemand nen rat?
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von DwarF
      ich kann bei mir die datenbank nicht anhalten. weiß jemand, woran das liegt? gibt es auch noch andere möglichkeiten? ganz abschalten?
      Was sagt er denn, wenn du den Dienst beenden willst? Hast du Admin-Rechte?

      Gruss,
      Alex
    • DwarF
      DwarF
      Bronze
      Dabei seit: 05.04.2005 Beiträge: 447
      wenn ich anhalten will kommt:

      der dienst postgresql database server 8.0 auf lokaler computer konnte nicht angehalten werden.
      der dienst hat keinen fehler zurückgegeben. es kann sich um einen internen dienstfehler oder einen internen windowsfehler handeln.
      setzen sie sich mit ihrem systemadministrator in verbindung, falls das problem weiterhin besteht.

      admin rechte von der datenbank meinst du? sollte ich haben, ich weiß allerdings nicht, wo ich das nachschauen kann, sorry :)
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von DwarF
      wenn ich anhalten will kommt:

      der dienst postgresql database server 8.0 auf lokaler computer konnte nicht angehalten werden.
      der dienst hat keinen fehler zurückgegeben. es kann sich um einen internen dienstfehler oder einen internen windowsfehler handeln.
      setzen sie sich mit ihrem systemadministrator in verbindung, falls das problem weiterhin besteht.
      Das ist aber gar nicht gut, denn wenn du den Rechner runterfährst, dann wird die Datenbank vermutlich mit Gewalt abgeschossen, was wiederum die Integrität deiner Daten gefährden kann.

      Schau mal, ob er im Eventlog (Systemsteuerung->Verwaltung->Ereignisanzeige) unter "System" oder "Anwendungen" eine genauere Begründung liefert, warum die DB nicht gestoppt werden konnte.


      admin rechte von der datenbank meinst du? sollte ich haben, ich weiß allerdings nicht, wo ich das nachschauen kann, sorry :)
      Nein, ich meinte eigentlich ob du als Administrator angemeldet bist oder ob du einen eingeschränkten Benutzeraccount verwendest. Wenn du deinen Account nicht explizit eingeschränkt hast, dann bist du automatisch Administrator.

      Gruss,
      Alex

      EDIT: Wenn das mit dem Anhalten der DB so garnicht hinaut, dann kannst du das Starten des Dienstes verhindern, indem du ihn auf "manuell" setzt. Dann sollte er nach einem Neustart des Rechners nicht laufen und du kannst in Ruhe die DB verschieben. Trotzdem würde ich dir dringend empfehlen das Problem mit dem Anhalten genauer zu analysieren, weil sonst u.U. deine ganzen Daten geschrottet werden, wenn der Dienst beim Runterfahren jedesmal mit Gewalt beendet wird.
    • RumbleFish
      RumbleFish
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 123
      Ich konnte den Prozess auch nicht anhalten, aber beenden.

      Dann den data Ordner verschieben,
      die Registrierung mit regedit öffnen
      den Pfad C:\Programme\PostgreSQL\8.0\bin\pg_ctl.exe runservice -N "pgsql-8.0" -D "C:\Programme\PostgreSQL\8.0\data\" kopieren
      und im Editor suchen, den neuen Pfad eingeben und fertig.

      Hat geklappt. Danke für die Tipps. ;)
    • DwarF
      DwarF
      Bronze
      Dabei seit: 05.04.2005 Beiträge: 447
      erstmal danke für deine hilfe, tamar

      unter ereignisanzeige steht:

      Ereignistyp: Informationen
      Ereignisquelle: Service Control Manager
      Ereigniskategorie: Keine
      Ereigniskennung: 7035
      Datum: 08/14/2006
      Zeit: 5:31:18 PM
      Benutzer: TIMON\Timon
      Computer: TIMON
      Beschreibung:
      Der Steuerbefehl "anhalten" wurde erfolgreich an den Dienst "PostgreSQL Database Server 8.0" gesendet.

      Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.


      ich weiß nicht, ob es damit zusammenhängt, aber bei der postgresql installation damals hatte ich ein paar probleme und habe glaub ich 3 accounts angelegt, die ich nie verwende
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von RumbleFish
      Ich konnte den Prozess auch nicht anhalten, aber beenden.
      Da ich Windows so gut wie nie benutze, war mir jetzt nicht klar, dass es einen Unterschied zwischen "anhalten" und "beenden" gibt. "Anhalten" scheint wohl eher sowas wie "pausieren" zu sein. Das macht bei einer DB natürlich wenig Sinn und geht deswegen wohl auch nicht. Ich meinte natürlich, dass du den Dienst vor dem Verschieben der DB beenden sollst. Da "beenden" vermutlich funktionieren wird, hast du auch keine Probleme beim runterfahren deines PCs.


      ich weiß nicht, ob es damit zusammenhängt, aber bei der postgresql installation damals hatte ich ein paar probleme und habe glaub ich 3 accounts angelegt, die ich nie verwende
      Nein, die stören nicht. Wenn du willst kannst du sie mit dem "net" Kommando wieder löschen.

      Gruss,
      Alex
    • DwarF
      DwarF
      Bronze
      Dabei seit: 05.04.2005 Beiträge: 447
      wo und wie kann ich dieses net kommando eingeben? =)
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von DwarF
      wo und wie kann ich dieses net kommando eingeben? =)
      Start->Ausführen: "cmd"

      Wenn du "cmd" ausführst, dann öffnet sich eine Shell (DOS-Fenster). In der kannst du mit dem "net" Kommando die Benutzer löschen:

      net postgres /DELETE

      oder

      net user postgres /DELETE

      Weiss jetzt nicht genau welcher Befehl richtig ist, aber wenn du nur "net" eingibst, dann bekommst du eine Hilfe angezeigt.

      Gruss,
      Alex
    • mm144
      mm144
      Bronze
      Dabei seit: 16.02.2006 Beiträge: 1.059
      ich hab ne ähnliche frage aber dieser thread hilft mir leider nicht weiter. bin vllt zu blöd:
      ich will meine acess und sql db die ich nicht mehr brauche nicht nur aus pt entfernen sondern auch vom rechner. wie kann ich die einzelnene sql db lokaliesieren, sie unterscheiden sprich welche 12 fr und welche 0.5 1 fr ist usw und dann löschen? in pt haben die halt namen die ich ihnen gegeben hab wie zb 1/2 observed oder so....

      mfg max
    • onkelmeik
      onkelmeik
      Bronze
      Dabei seit: 10.02.2006 Beiträge: 651
      Bei Pockertracker unter dem Menu File-Maintain Database Names steht links Deine Beschreibung der Datenbank, rechts unter DB File der Postgres-Name oder Access-Name. Zu löschende Datei anklicken und remove drücken.

      Zum endgültigen Löschen der Postgres-Dateien dann im Menu Utilities-Postgres Database Function aufrufen. Rechts steht dann im Feld neben "Delete a Database"die Datei, die Du zuvor mit remove gelöscht hast. Button Delete löscht diese DB jetzt endgültig
    • DwarF
      DwarF
      Bronze
      Dabei seit: 05.04.2005 Beiträge: 447
      hi, ich hab nochmal nen problem

      wenn ich in der registry nach dem eintrag suche, finde ich 3 objekte mit namen "ImagePath" vom typ "REG_EXPAND_SZ", die in folgenden verzeichnissen liegen:

      HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\pgsql-8.0
      HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\pgsql-8.0
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-8.0

      ich habe die datenbank beendet, bei jedem der einträge den pfad hinter dem "-D" entsprechend editiert und die datenbank neu gestartet. leider kann pokertracker jetzt nicht mehr auf meine datenbank connecten
      wenn ich den pgadmin starte und auf die datenbank connecten will, passiert folgendes:
      An error has occured:
      Could not connect to server: Connection refused (0x0000274D/10061)
      Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?

      temar? :)
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von DwarF
      wenn ich in der registry nach dem eintrag suche, finde ich 3 objekte mit namen "ImagePath" vom typ "REG_EXPAND_SZ", die in folgenden verzeichnissen liegen:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-8.0
      Hmm, bin nicht so der Windows-Profi aber der obige Eintrag muesste es sein.


      ich habe die datenbank beendet, bei jedem der einträge den pfad hinter dem "-D" entsprechend editiert
      Kann auf jedenfall nicht schaden, den Eintrag bei allen dreien anzupassen.


      und die datenbank neu gestartet. leider kann pokertracker jetzt nicht mehr auf meine datenbank connecten
      wenn ich den pgadmin starte und auf die datenbank connecten will, passiert folgendes:
      Das könnte wieder so eine Rechte-Geschichte sein. Der Datenbankbenutzer benötigt Schreibrechte auf den "data" Ordner. Gibt also zwei Möglichkeiten:

      1) Du hast den "data" Ordner auf eine Partition kopiert, die nicht NTFS formatiert ist - z.B. ein FAT32 Partition.
      2) Die Rechte wurde beim kopieren nicht übernommen.

      Wenn du im XP-Dummy Modus arbeitest, dann kannst du dir die Rechte nicht anzeigen lassen. Ich würde einfach mal in der Ereignisanzeige nach Fehlern suchen (Start->Einstellungen->Systemsteuerung->Verwaltung->Ereignisanzeige). Einfach mal in den Unterpunkten "Anwendungen" und "System" nach Einträgen/Fehlermeldungen von PostgreSQL suchen. Meist steht dort dann im Klartext was ihm nicht passt. Falls der DB-Nutzer wirklich keine Rechte hat, dann kannst du dein Windows entweder in den "Experten"-Modus versetzen oder versuchen den "data" Ordner zu verschieben. Vielleicht werden die Rechte beim verschieben mit übernommen. Unter Umständen kennt hier im Forum vielleicht noch einer eine Möglichkeit die Rechte zu setzen ohne den Anwender-Modus ändern zu müssen (das Installskript von PgSQL bekommt's ja auch irgendwie hin die Rechte zu setzen). Hab da aber zu wenig Ahnung von Windows. Ich würde zur Not in den anderen Modus schalten und dann wieder zurück. Aber schau erstmal in die Ereignisanzeige.



      An error has occured:
      Could not connect to server: Connection refused (0x0000274D/10061)
      Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?
      Das bedeuted nur, dass die DB nicht läuft. Also nicht gestartet werden konnte.

      Gruss,
      Alex