pg_restore und view Reihenfolge

pg_restore und view Reihenfolge

am 04.12.2008 09:18:44 von Horst.Duester

--2_0_385_e498203MHTML_=_01
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hallo Liste

Ich versuche mit pg_restore (8.3.3) eine Datensicherung aus pg_dump
(8.3.3) auf einen neuen DB-Cluster (8.3.3) zu spielen. Leider gibt es
bei verschiedenen Views Probleme diese zu rekonstruieren. Der Grund ist,
dass es Views sind, die in der FROM clause eine VIEW referenziert haben.
Z.B.

VIEW1:

select * from VIEW2;

Während des Restores wird versucht zuerst VIEW1 anzulegen. Das missling=
t
aber, da VIEW2 noch nicht existiert. Wie kann ich mich aus dieser Misere
retten?

Danke für jede Hilfe.

Gruss
Horst Düster

------------------------------------------------

Dr. Horst Düster
GIS-Koordinator, Stv. Amtschef

Kanton Solothurn
Bau- und Justizdepartement
Amt für Geoinformation
SO!GIS Koordination
Rötistrasse 4
CH-4501 Solothurn

Telefon ++41(0)32 627 25 32
Telefax ++41(0)32 627 22 14

mailto:horst.duester@bd.so.ch
http://www.agi.so.ch



--2_0_385_e498203MHTML_=_01
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline




Scalix message content




Hallo Liste >



Ich versuche mit p=
g_restore
(8.3.3) eine Datensicherung aus pg_dump (8.3.3) auf einen neuen DB-Cluste=
r
(8.3.3) zu spielen. Leider gibt es bei verschiedenen Views Probleme diese=
zu
rekonstruieren. Der Grund ist, dass es Views sind, die in der FROM clause=
eine
VIEW referenziert haben. Z.B.



VIEW1: v>


select * from
VIEW2;



Während des R=
estores
wird versucht zuerst VIEW1 anzulegen. Das misslingt aber, da VIEW2 noch n=
icht
existiert. Wie kann ich mich aus dieser Misere retten?



Danke für je=
de
Hilfe.



Gruss
<=
span style=3D'font-size: 10pt; '>Horst
Düster



-----------------=
-------------------------------



Dr. Horst
Düster

GIS-Koordinator, S=
tv.
Amtschef



Kanton
Solothurn

Bau- und
Justizdepartement

Amt fü=
r
Geoinformation

SO!GIS
Koordination

Rötistrasse=

4

CH-4501 Solothurn iv>


Telefon ++41(0)32=
627 25
32

Telefax ++41(0)32 627 22
14



mailto:horst.dues=
ter@bd.so.ch

http://www.agi.s=
o.ch










--2_0_385_e498203MHTML_=_01--

Re: pg_restore und view Reihenfolge

am 04.12.2008 09:40:51 von andreas.kretschmer

am Thu, dem 04.12.2008, um 9:18:44 +0100 mailte Düster Horst folgende=
s:
> Hallo Liste
>=20
> Ich versuche mit pg_restore (8.3.3) eine Datensicherung aus pg_dump (8.=
3.3) auf
> einen neuen DB-Cluster (8.3.3) zu spielen. Leider gibt es bei verschied=
enen
> Views Probleme diese zu rekonstruieren. Der Grund ist, dass es Views si=
nd, die
> in der FROM clause eine VIEW referenziert haben. Z.B.
>=20
> VIEW1:
>=20
> select * from VIEW2;
>=20
> Während des Restores wird versucht zuerst VIEW1 anzulegen. Das missli=
ngt aber,
> da VIEW2 noch nicht existiert. Wie kann ich mich aus dieser Misere rett=
en?

Autsch. Das sollte eigentlich seit 8.0 oder so niemals nie passieren,
wenn Du das belegen kannst, dann mache BITTE einen Bugreport.


>=20
> Danke für jede Hilfe.

Du kannst versuchen, mit pg_restore -l ein Listing zu erzeugen. Dieses
Listing enthält alle Objekte in der Reihenfolge, wie sie im Dump stehen=
..
Dieses Listing kannst Du per Hand editieren und die Objekte vertauschen,
bis die Reihenfolge stimmt. Dann pg_restore mit -L und dem von Dir
sortiertem Listfile, dann erfolgt das Restore in der von Dir definierten
Reihenfolge.

Und denke an den Bugreport!


Andreas
--=20
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_restore und view Reihenfolge

am 04.12.2008 09:42:34 von Andreas Wenk

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Moin Horst,

ich hab's bislang noch nicht ausprobiert aber man pg_restore sagt, dass D=
u mit dem
Parameter -1 (eins) den restore in einer Transaktion vornehemn kannst. Ic=
h denke mal das
sollte dann klappen.

- -1
- --single-transaction
Execute the restore as a single transaction (that is, wrap the emitted co=
mmands in
BEGIN/COMMIT). This ensures that either all the commands
complete successfully, or no changes are applied. This option implies --e=
xit-on-error.

Ich bin aber nicht ganz sicher ob's das tut. Diesen Parameter gab's in V =
8.1 noch nicht.

Wie ist denn die genaue Fehlermeldung? Ev. solltest Du auch den Parameter=
-c nutzen:

- -c
- --clean
Clean (drop) database objects before recreating them.

Gruss

- ----------------------------------
Andreas Wenk / Netzmeister St.Pauli

St.Pauli - Hamburg - Germany

Düster Horst schrieb:
> Hallo Liste
>=20
> Ich versuche mit pg_restore (8.3.3) eine Datensicherung aus pg_dump
> (8.3.3) auf einen neuen DB-Cluster (8.3.3) zu spielen. Leider gibt es
> bei verschiedenen Views Probleme diese zu rekonstruieren. Der Grund ist=
,
> dass es Views sind, die in der FROM clause eine VIEW referenziert haben=
..
> Z.B.
>=20
> VIEW1:
>=20
> select * from VIEW2;
>=20
> Während des Restores wird versucht zuerst VIEW1 anzulegen. Das missli=
ngt
> aber, da VIEW2 noch nicht existiert. Wie kann ich mich aus dieser Miser=
e
> retten?
>=20
> Danke für jede Hilfe.
>=20
> Gruss
> Horst Düster
>=20
> ------------------------------------------------
>=20
> Dr. Horst Düster
> GIS-Koordinator, Stv. Amtschef
>=20
> Kanton Solothurn
> Bau- und Justizdepartement
> Amt für Geoinformation
> SO!GIS Koordination
> Rötistrasse 4
> CH-4501 Solothurn
>=20
> Telefon ++41(0)32 627 25 32
> Telefax ++41(0)32 627 22 14
>=20
> mailto:horst.duester@bd.so.ch
> http://www.agi.so.ch
>=20
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJN5f6Va7znmSP9AwRAoA6AJoCn4CJQydfFWylzn0eX7J0XfmXUQCg yI/B
dLIjQIxcBAYaH9aXuYfLclI=3D
=3DNy6J
-----END PGP SIGNATURE-----

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_restore und view Reihenfolge

am 04.12.2008 10:00:08 von andreas.kretschmer

am Thu, dem 04.12.2008, um 9:42:34 +0100 mailte Andreas Wenk folgendes:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Moin Horst,
>
> ich hab's bislang noch nicht ausprobiert aber man pg_restore sagt, dass Du mit dem
> Parameter -1 (eins) den restore in einer Transaktion vornehemn kannst. Ich denke mal das
> sollte dann klappen.
>
> - -1
> - --single-transaction

Das wird nicht funktionieren.


PS.: bitte kein TOFU.

Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_restore und view Reihenfolge

am 04.12.2008 10:01:26 von Horst.Duester

--2_0_385_e4a0525MHTML_=_01
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

>Autsch. Das sollte eigentlich seit 8.0 oder so niemals nie passieren,

Ja der Meinung war ich auch! Ich werde die Sache weiter untersuchen und
einen Test-Case zusammenstellen, der hoffentlich auch für andere System=
e
reproduzierbar ist. Dann kann ich gerne einen Bug-Report machen.

Gruss
Horst

------------------------------------------------

Dr. Horst Düster
GIS-Koordinator, Stv. Amtschef

Kanton Solothurn
Bau- und Justizdepartement
Amt für Geoinformation
SO!GIS Koordination
Rötistrasse 4
CH-4501 Solothurn

Telefon ++41(0)32 627 25 32
Telefax ++41(0)32 627 22 14

mailto:horst.duester@bd.so.ch
http://www.agi.so.ch



-----Ursprüngliche Nachricht-----
Von: A. Kretschmer [mailto:andreas.kretschmer@schollglas.com]
Gesendet am: Donnerstag, 4. Dezember 2008 09:41
An: pgsql-de-allgemein@postgresql.org
Betreff: Re: [pgsql-de-allgemein] pg_restore und view Reihenfolge

am Thu, dem 04.12.2008, um 9:18:44 +0100 mailte Düster Horst
folgendes:
> Hallo Liste
>=20
> Ich versuche mit pg_restore (8.3.3) eine Datensicherung aus pg_dump
(8.3.3) auf
> einen neuen DB-Cluster (8.3.3) zu spielen. Leider gibt es bei
verschiedenen
> Views Probleme diese zu rekonstruieren. Der Grund ist, dass es Views
sind, die
> in der FROM clause eine VIEW referenziert haben. Z.B.
>=20
> VIEW1:
>=20
> select * from VIEW2;
>=20
> Während des Restores wird versucht zuerst VIEW1 anzulegen. Das
misslingt aber,
> da VIEW2 noch nicht existiert. Wie kann ich mich aus dieser Misere
retten?

Autsch. Das sollte eigentlich seit 8.0 oder so niemals nie passieren,
wenn Du das belegen kannst, dann mache BITTE einen Bugreport.


>=20
> Danke für jede Hilfe.

Du kannst versuchen, mit pg_restore -l ein Listing zu erzeugen. Dieses
Listing enthält alle Objekte in der Reihenfolge, wie sie im Dump stehen=

Dieses Listing kannst Du per Hand editieren und die Objekte vertauschen,
bis die Reihenfolge stimmt. Dann pg_restore mit -L und dem von Dir
sortiertem Listfile, dann erfolgt das Restore in der von Dir definierten
Reihenfolge.

Und denke an den Bugreport!


Andreas
--=20
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

--=20
Sent via pgsql-de-allgemein mailing list
(pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein


--2_0_385_e4a0525MHTML_=_01
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline




Scalix message content




>Autsch. Das s=
ollte
eigentlich seit 8.0 oder so niemals nie passieren,



Ja der Meinung wa=
r ich auch!
Ich werde die Sache weiter untersuchen und einen Test-Case zusammenstelle=
n, der
hoffentlich auch für andere Systeme reproduzierbar ist. Dann kann ic=
h gerne
einen Bug-Report machen.



Gruss
<=
span style=3D'font-size: 10pt; '>Horst



-----------------=
-------------------------------



Dr. Horst
Düster

GIS-Koordinator, S=
tv.
Amtschef



Kanton
Solothurn

Bau- und
Justizdepartement

Amt fü=
r
Geoinformation

SO!GIS
Koordination

Rötistrasse=

4

CH-4501 Solothurn iv>


Telefon ++41(0)32=
627 25
32

Telefax ++41(0)32 627 22
14



mailto:horst.dues=
ter@bd.so.ch

http://www.agi.s=
o.ch



-----Ursprün=
gliche
Nachricht-----

Von: A. Kretsc=
hmer
[mailto:andreas.kretschmer@schollglas.com]

size: 10pt; '>Gesendet
am: Donnerstag, 4. Dezember 2008
09:41

An:
pgsql-de-allgemein@postgresql.org

t; '>Betreff:
Re: [pgsql-de-allgemein] pg_restore und view Reihenfolge



am Thu, dem 04.1=
2.2008, um=20
9:18:44 +0100 mailte Düster Horst
folgendes:

> Hallo
Liste

>

> Ich versuche mit pg_res=
tore
(8.3.3) eine Datensicherung aus pg_dump (8.3.3)
auf

> einen neuen DB-Clust=
er
(8.3.3) zu spielen. Leider gibt es bei
verschiedenen

> Views Prob=
leme
diese zu rekonstruieren. Der Grund ist, dass es Views sind,
die

> in der FROM clause e=
ine VIEW
referenziert haben. Z.B.

>=


>
VIEW1:

>

> select * from
VIEW2;

>

> Während des Restor=
es wird
versucht zuerst VIEW1 anzulegen. Das misslingt
aber,

> da VIEW2 noch nich=
t
existiert. Wie kann ich mich aus dieser Misere retten?



Autsch. Das sollt=
e
eigentlich seit 8.0 oder so niemals nie
passieren,

wenn Du das belege=
n kannst,
dann mache BITTE einen Bugreport.



>

> Danke für jede
Hilfe.



Du kannst versuch=
en, mit
pg_restore -l ein Listing zu erzeugen.
Dieses

Listing enthält a=
lle
Objekte in der Reihenfolge, wie sie im Dump
stehen.

Dieses Listing kannst=
Du per
Hand editieren und die Objekte
vertauschen,

bis die Reihenfo=
lge
stimmt. Dann pg_restore mit -L und dem von
Dir

sortiertem Listfile, dann=
erfolgt
das Restore in der von Dir
definierten

Reihenfolge. n>



Und denke an den
Bugreport!



Andreas >--

Andreas
Kretschmer

Kontakt: Heynitz:=

035242/47150, D1: 0160/7141639 (mehr: ->
Header)

GnuPG-ID: 0x3FFF606=
C, privat
0x7F4584DA http://wwwkeys.de.pgp.net



--

Sent via pgsql-de-allgemein m=
ailing
list
(pgsql-de-allgemein@postgresql.org)

0pt; '>To
make changes to your
subscription:

http://www.post=
gresql.org/mailpref/pgsql-de-allgemein








--2_0_385_e4a0525MHTML_=_01--

Re: pg_restore und view Reihenfolge

am 04.12.2008 12:02:33 von Horst.Duester

--2_0_b9_e4b9f18MHTML_=_01
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Die Fehlermeldung, die vor dem versuchten Erzeugen des Views erscheint
lautet:

ERROR: could not identify an ordering operator for type public.geometry
HINT: Use an explicit ordering operator or modify the query.

Der Operator public.geometry stammt aus PostGIS und ist im Dump
definiert. Anscheinend wird der Operator zu spät angelegt. Wenn ich den=

Restore trotz Fehler durchlaufen lasse und dann das fehlerhafte Schema
noch einmal Restore, werden auch die fehlenden Views angelegt. Auch das
deutet auf eine falsche Reihenfolge des Restores hin.

Gruss
Horst

------------------------------------------------

Dr. Horst Düster
GIS-Koordinator, Stv. Amtschef

Kanton Solothurn
Bau- und Justizdepartement
Amt für Geoinformation
SO!GIS Koordination
Rötistrasse 4
CH-4501 Solothurn

Telefon ++41(0)32 627 25 32
Telefax ++41(0)32 627 22 14

mailto:horst.duester@bd.so.ch
http://www.agi.so.ch



-----Ursprüngliche Nachricht-----
Von: A. Kretschmer [mailto:andreas.kretschmer@schollglas.com]
Gesendet am: Donnerstag, 4. Dezember 2008 09:41
An: pgsql-de-allgemein@postgresql.org
Betreff: Re: [pgsql-de-allgemein] pg_restore und view Reihenfolge

am Thu, dem 04.12.2008, um 9:18:44 +0100 mailte Düster Horst
folgendes:
> Hallo Liste
>=20
> Ich versuche mit pg_restore (8.3.3) eine Datensicherung aus pg_dump
(8.3.3) auf
> einen neuen DB-Cluster (8.3.3) zu spielen. Leider gibt es bei
verschiedenen
> Views Probleme diese zu rekonstruieren. Der Grund ist, dass es Views
sind, die
> in der FROM clause eine VIEW referenziert haben. Z.B.
>=20
> VIEW1:
>=20
> select * from VIEW2;
>=20
> Während des Restores wird versucht zuerst VIEW1 anzulegen. Das
misslingt aber,
> da VIEW2 noch nicht existiert. Wie kann ich mich aus dieser Misere
retten?

Autsch. Das sollte eigentlich seit 8.0 oder so niemals nie passieren,
wenn Du das belegen kannst, dann mache BITTE einen Bugreport.


>=20
> Danke für jede Hilfe.

Du kannst versuchen, mit pg_restore -l ein Listing zu erzeugen. Dieses
Listing enthält alle Objekte in der Reihenfolge, wie sie im Dump stehen=

Dieses Listing kannst Du per Hand editieren und die Objekte vertauschen,
bis die Reihenfolge stimmt. Dann pg_restore mit -L und dem von Dir
sortiertem Listfile, dann erfolgt das Restore in der von Dir definierten
Reihenfolge.

Und denke an den Bugreport!


Andreas
--=20
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

--=20
Sent via pgsql-de-allgemein mailing list
(pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein


--2_0_b9_e4b9f18MHTML_=_01
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline




Scalix message content




Die Fehlermeldung=
, die vor
dem versuchten Erzeugen des Views erscheint lautet:



ERROR: could not=
identify
an ordering operator for type
public.geometry

HINT: Use an=
explicit
ordering operator or modify the query.



Der Operator publ=
ic.geometry
stammt aus PostGIS und ist im Dump definiert. Anscheinend wird der Operat=
or zu
spät angelegt. Wenn ich den Restore trotz Fehler durchlaufen lasse u=
nd dann
das fehlerhafte Schema noch einmal Restore, werden auch die fehlenden Vie=
ws
angelegt. Auch das deutet auf eine falsche Reihenfolge des Restores
hin.



Gruss
<=
span style=3D'font-size: 10pt; '>Horst



-----------------=
-------------------------------



Dr. Horst
Düster

GIS-Koordinator, S=
tv.
Amtschef



Kanton
Solothurn

Bau- und
Justizdepartement

Amt fü=
r
Geoinformation

SO!GIS
Koordination

Rötistrasse=

4

CH-4501 Solothurn iv>


Telefon ++41(0)32=
627 25
32

Telefax ++41(0)32 627 22
14



mailto:horst.dues=
ter@bd.so.ch

http://www.agi.s=
o.ch



-----Ursprün=
gliche
Nachricht-----

Von: A. Kretsc=
hmer
[mailto:andreas.kretschmer@schollglas.com]

size: 10pt; '>Gesendet
am: Donnerstag, 4. Dezember 2008
09:41

An:
pgsql-de-allgemein@postgresql.org

t; '>Betreff:
Re: [pgsql-de-allgemein] pg_restore und view Reihenfolge



am Thu, dem 04.1=
2.2008, um=20
9:18:44 +0100 mailte Düster Horst
folgendes:

> Hallo
Liste

>

> Ich versuche mit pg_res=
tore
(8.3.3) eine Datensicherung aus pg_dump (8.3.3)
auf

> einen neuen DB-Clust=
er
(8.3.3) zu spielen. Leider gibt es bei
verschiedenen

> Views Prob=
leme
diese zu rekonstruieren. Der Grund ist, dass es Views sind,
die

> in der FROM clause e=
ine VIEW
referenziert haben. Z.B.

>=


>
VIEW1:

>

> select * from
VIEW2;

>

> Während des Restor=
es wird
versucht zuerst VIEW1 anzulegen. Das misslingt
aber,

> da VIEW2 noch nich=
t
existiert. Wie kann ich mich aus dieser Misere retten?



Autsch. Das sollt=
e
eigentlich seit 8.0 oder so niemals nie
passieren,

wenn Du das belege=
n kannst,
dann mache BITTE einen Bugreport.



>

> Danke für jede
Hilfe.



Du kannst versuch=
en, mit
pg_restore -l ein Listing zu erzeugen.
Dieses

Listing enthält a=
lle
Objekte in der Reihenfolge, wie sie im Dump
stehen.

Dieses Listing kannst=
Du per
Hand editieren und die Objekte
vertauschen,

bis die Reihenfo=
lge
stimmt. Dann pg_restore mit -L und dem von
Dir

sortiertem Listfile, dann=
erfolgt
das Restore in der von Dir
definierten

Reihenfolge. n>



Und denke an den
Bugreport!



Andreas >--

Andreas
Kretschmer

Kontakt: Heynitz:=

035242/47150, D1: 0160/7141639 (mehr: ->
Header)

GnuPG-ID: 0x3FFF606=
C, privat
0x7F4584DA http://wwwkeys.de.pgp.net



--

Sent via pgsql-de-allgemein m=
ailing
list
(pgsql-de-allgemein@postgresql.org)

0pt; '>To
make changes to your
subscription:

http://www.post=
gresql.org/mailpref/pgsql-de-allgemein








--2_0_b9_e4b9f18MHTML_=_01--