Thread: wrong objects order using pg_dump
Dear All, I am trying to copy the PostGIS Database from Linux computer to Windows. Under Linux Debian we have PostgreSQL 7.4.6, under Windows XP we have PostgreSQL 8.1.0-2 . I am creating dump under Linux with pg_dump myDB > myDBdump.sql Under windows I am creating new DB (it is automatically PostGIS db) and then using psql -f myDBdump.sql -d myWinDB -U postgres After accomplishing this request WinDB missing some Views. The problem is that myDBdump.sql has in some places wrong order of CREATE VIEW and CREATE TABLE statements. For example: CREATE VIEW myView AS SELECT .... myTable...; is located before the: CREATE TABLE myTable .... while trying to create view the "relation "myTable" does not exist" ERROR arised. What is the right way to copy Database from one computer to another? Thanks a lot in advance Oleg
On 1/30/06, Oleg <evdakov@iwk.uka.de> wrote: > Dear All, > I am trying to copy the PostGIS Database from Linux computer to Windows. > Under Linux Debian we have PostgreSQL 7.4.6, under Windows XP we have > PostgreSQL 8.1.0-2 . > I am creating dump under Linux with pg_dump myDB > myDBdump.sql > Under windows I am creating new DB (it is automatically PostGIS db) and > then using > psql -f myDBdump.sql -d myWinDB -U postgres > After accomplishing this request WinDB missing some Views. The problem > is that myDBdump.sql has in some places wrong order of CREATE VIEW and > CREATE TABLE statements. > For example: > CREATE VIEW myView AS SELECT .... myTable...; > is located before the: > CREATE TABLE myTable .... > > while trying to create view the "relation "myTable" does not exist" > ERROR arised. > > What is the right way to copy Database from one computer to another? > Thanks a lot in advance > Oleg > > use the pg_dump from the the 8.1 to make the backup: pg_dump --host <host> --port <port> <your options> base > base.sql -- regards, Jaime Casanova (DBA: DataBase Aniquilator ;)
Oleg <evdakov@iwk.uka.de> writes: > I am trying to copy the PostGIS Database from Linux computer to Windows. > Under Linux Debian we have PostgreSQL 7.4.6, under Windows XP we have > PostgreSQL 8.1.0-2 . > I am creating dump under Linux with pg_dump myDB > myDBdump.sql Try using the 8.1 pg_dump to suck data from the 7.4 database. 7.4's pg_dump is not very smart about inter-object dependencies, especially not if you ALTERed any objects after initially creating them. 8.0 or 8.1 pg_dump should get this right though. regards, tom lane
Hi Jaime Thank you very much. It works fine now. Best regards Oleg Jaime Casanova schrieb: >On 1/30/06, Oleg <evdakov@iwk.uka.de> wrote: > > >>Dear All, >>I am trying to copy the PostGIS Database from Linux computer to Windows. >>Under Linux Debian we have PostgreSQL 7.4.6, under Windows XP we have >>PostgreSQL 8.1.0-2 . >>I am creating dump under Linux with pg_dump myDB > myDBdump.sql >>Under windows I am creating new DB (it is automatically PostGIS db) and >>then using >>psql -f myDBdump.sql -d myWinDB -U postgres >>After accomplishing this request WinDB missing some Views. The problem >>is that myDBdump.sql has in some places wrong order of CREATE VIEW and >>CREATE TABLE statements. >>For example: >>CREATE VIEW myView AS SELECT .... myTable...; >>is located before the: >>CREATE TABLE myTable .... >> >>while trying to create view the "relation "myTable" does not exist" >>ERROR arised. >> >>What is the right way to copy Database from one computer to another? >>Thanks a lot in advance >>Oleg >> >> >> >> > >use the pg_dump from the the 8.1 to make the backup: >pg_dump --host <host> --port <port> <your options> base > base.sql > >-- >regards, >Jaime Casanova >(DBA: DataBase Aniquilator ;) > > >