pg_dump von linux postgres 8.1 nach windows 8.2

hallo, ich will unter debian mit psql 8.1 ein pg_dump erstellen, das ich unter windows mit 8.2 verwenden kann.

Gelingt mir auch, aber zu umständlich.
Das backup erstelle ich bis jetzt mit: pg_dump $DBNAME -o -s -c


Was Probleme macht, sind Teile von TSearch2 und PostGIS. Im backup-plain-output habe ich z.B.

CREATE FUNCTION addpoint(geometry, geometry, integer) RETURNS geometry
AS ‘/usr/lib/postgresql/8.1/lib/liblwgeom.so.1.1’, ‘LWGEOM_addpoint’
LANGUAGE c IMMUTABLE STRICT;


Soweit ich das verstehe, macht einfach der absolute Pfad probleme, da ich das backup 1.) unter windows und 2.) in 8.2 einspielen will.

Wie kann ich sowas umgehen, ohne das backup-plain-output händisch zu editieren?
Erübrigt sich das, wenn ich pg_dumpall verwenden würde statt pg_dump?

Ich sehe (mit psql 8.1) keine einfache Möglichkeit, die Tabellen von TSearch und PostGIS mit zu dumpen, jedoch nicht Types, Funktionen, Casts etc.

Hat jmd. erfahrung damit?

nimm doch einfach dumpall. In der Doku steht mehr darüber. So werden auch user usw. mitgenommen. Wie sieht es aus hast du tsearch2 schon auf 8.2 installiert? Würd mich interessieren wie du das geschafft hast. Ansonsten wird es ein bisschen schwierig das backup wider einzuspielen wenn du es nicht installiert hast.

P.S.: Ich meine tsearch2 unter Linux

ja, werde es wohl mit dumpall probieren. Unter windows war mir anfangs nicht klar, wie ich das dann von der DOS-cmd-line aus benutzen kann, - kein su postgres…

Ausserdem war/bin ich mir da nicht sicher, was es beim restore zu beachten gibt - zB. die Daten in eine Test-DB mit anderen Namen zu schreiben, damit meine lokale DB-kopie nicht überschrieben wird…


Ja, TSEARCH ist auf linux installiert (sonst würde er ja die tabellen nicht haben, oder?) - das habe ich aber nicht selbst gemacht. Oder fehlt uns da evtl noch was? - getestet habe ich TSearch - funktionen bisher nur auf meiner lokalen windows installation.

das restore auf deiner Windows DB wird sicher kein Problem werden weil du ja noch gar keine dort am laufen hast. Oder sehe ich das falsch?

Also ich hatte Probleme tsearch2 unter Linux 8.2 zu installieren. Und genau das habe ich gefragt. Aber den Fall hast du ja nicht. Du hast ja 8.2 auf Windows mit tsearch2 am laufen.

Ok schönen Tag noch hoffe ich habe dich nicht zu sehr verwirrt.

Nein, du hattest mich nicht zu sehr verwirrt - aber jetzt schon :wink:

Also, TSearch ist auf der linux(debian) und windows DB installiert, getestet habe ich das bisher nur bei mir lokal unter windows, da wir es momentan noch nicht verwenden.

Trotzdem kommen ja ins backup, das auf linux erstellt wird, die funktionen und types von TSearch. Auch wenn es noch gar keine TSearch-spezifischen Spalten in irgendeiner Datentabelle gibt. Diese Functionen und Typen (und Casts) machen probleme beim einspielen unter windows (wegen der Pfadnamen, nehme ich an).

  • bisher habe ich immer plain-dumps verwendet, weil ich da besser kontrollieren konnte, was eigentlich beim einspielen gemacht wird… Ich werde mal dump_all und selectives restore versuchen.

Ja, genau den Fall, TSearch unter Linux mit 8.2 zu installieren, hatten wir nicht, auf linux läuft 8.1

Aber ich nehme an, das ist analog:
unter linux (wobei template_postgis_tsearch ein existierendes DB-template ist):

(als postgres)
psql template_postgis_tsearch < /usr/share/postgresql/8.1/contrib/tsearch2.sql

  • Nun hat man ein sauberes PostGIS-TSearch2-DB-Template.


    Hilf das weiter?