Thread: postgresql 7.3 versus 7.2
Hi! Is there any way to adjust dumps from postgresql 7.3 for use by version 7.2 and vice versa ? Or is there a way to transport a full database via csv or in any other kind to 7.2 and vice versa ? We are running a couple of servers/mirrors at various locations in the world, handling data based on postgresql, and now we have trouble to transport data from and to sites with different versions. (E.g. http://genealogy.math.ndsu.nodak.edu/ http://genealogy.mathematik.uni-bielefeld.de/ ) Some have upgraded and others cannot immediately follow, since an upgrade from 7.2 to 7.3 seems to require an upgrade of php4 and maybe even of apache, which takes time etc. So it would be helpful to have an easy tool to convert between data for both versions. Any help or recommendation is very much appreciated! Best regards, Ulf Rehmann
> Is there any way to adjust dumps from postgresql 7.3 for use by > version 7.2 and vice versa ? > > Or is there a way to transport a full database via csv or in any other > kind to 7.2 and vice versa ? > > We are running a couple of servers/mirrors at various locations in the > world, handling data based on postgresql, and now we have trouble to > transport data from and to sites with different versions. > > (E.g. http://genealogy.math.ndsu.nodak.edu/ > http://genealogy.mathematik.uni-bielefeld.de/ ) > > Some have upgraded and others cannot immediately follow, since an > upgrade from 7.2 to 7.3 seems to require an upgrade of php4 and maybe > even of apache, which takes time etc. > > So it would be helpful to have an easy tool to convert between data > for both versions. > > Any help or recommendation is very much appreciated! I live with PostgreSQL from 6.5 and for independance every my application write in such a manner:database description is written using m4 macros. short example (<qb><qe> - quote open and quote close - they are unprintable): CREATE_SECTION<qb><qe>dnl CREATE_TABLE(istat_d, rs, normal) ( date date NOT NULL , wclass int NOT NULL , count int8 NOT NULL ) INHERITS(ifaces) ; TUNE_SECTION<qb><qe>dnl CREATE UNIQUE INDEX istat_d_idx ON istat_d(router, iface, date, wclass); ALTER TABLE istat_d ADD FOREIGN KEY(router) REFERENCES router; ALTER TABLE istat_d ADD FOREIGN KEY(router, iface) REFERENCES iface; COMMENT ON TABLE istat_d IS '????? ? ???????'; COMMENT ON COLUMN istat_d.date IS '????? ??????'; END_SECTION<qb><qe>dnl m4 creates different files: for shema creation: CREATE TABLE istat_d ( date date NOT NULL , wclass int NOT NULL , count int8 NOT NULL ) INHERITS(ifaces) ; for content restore (:1 - directory): \set istat_d '\\copy istat_d FROM \'' :1 '/istat_d\'' :istat_d for last pass (I call it 'tune'): GRANT SELECT ON istat_d TO ispdb; GRANT INSERT ON istat_d TO ispdb; GRANT SELECT ON istat_d TO GROUP ispdbuser; CREATE UNIQUE INDEX istat_d_idx ON istat_d(router, iface, date, wclass); ALTER TABLE istat_d ADD FOREIGN KEY(router) REFERENCES router; ALTER TABLE istat_d ADD FOREIGN KEY(router, iface) REFERENCES iface; COMMENT ON TABLE istat_d IS '????? ? ???????'; COMMENT ON COLUMN istat_d.date IS '????? ??????'; for content dump: \set istat_d '\\copy istat_d TO \'' :1 '/istat_d\'' :istat_d for shema deletion: DROP TABLE istat_d; for empty database initialisation - void in this example. '?' in example are symbols of my language. So every database replication is:- content dump (not PostgreSQL dump)- shema creation- content restore- tune pass This unlock me from PostgreSQL version and ease me to upgrade application version (with possible 'up' pass in addition)
Robert Treat <xzilla@users.sourceforge.net> writes: > On Wed, 2003-02-12 at 16:02, Ulf Rehmann wrote: >> Is there any way to adjust dumps from postgresql 7.3 for use by >> version 7.2 and vice versa ? > Create a schema only dump with the 7.2 pg_dump. > Create a data only dump (possibly with INSERT output) with the 7.3 > pg_dump. Assuming you haven't done anything too wacky, you should be > able to drop your 7.2 database, reload the 7.2 schema, then load up the > 7.3 data. As always, test this out before doing it on a production > system. I think he'll have trouble even with that :-( ... 7.3 pg_dump will try to use column-name-list syntax in its COPY commands, which the 7.2 server won't like. AFAICS the only answer is to run the data dump through a filter (sed or perl or whatever) to edit the COPY commands to a format 7.2 will take. regards, tom lane
| Create a schema only dump with the 7.2 pg_dump. | Create a data only dump (possibly with INSERT output) with the 7.3| pg_dump.Assuming you haven't done anything too wacky, you should be| able to drop your 7.2 database, reload the 7.2 schema,then load up the| 7.3 data. As always, test this out before doing it on a production| system.| Thanks a lot for this quick explanation, this is very helpful! By the way, is there a possibility to just do incremental dumps/restores? Say, since a given date? Ulf
On Thu, 2003-02-13 at 10:42, Tom Lane wrote: > I think he'll have trouble even with that :-( ... 7.3 pg_dump will try > to use column-name-list syntax in its COPY commands, which the 7.2 > server won't like. If you used an insert-only, data-only dump, that might work... Cheers, Neil -- Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC
On Wed, 2003-02-12 at 16:02, Ulf Rehmann wrote: > > Hi! > > Is there any way to adjust dumps from postgresql 7.3 for use by > version 7.2 and vice versa ? > > Or is there a way to transport a full database via csv or in any other > kind to 7.2 and vice versa ? > > We are running a couple of servers/mirrors at various locations in the > world, handling data based on postgresql, and now we have trouble to > transport data from and to sites with different versions. > Create a schema only dump with the 7.2 pg_dump. Create a data only dump (possibly with INSERT output) with the 7.3 pg_dump. Assuming you haven't done anything too wacky, you should be able to drop your 7.2 database, reload the 7.2 schema, then load up the 7.3 data. As always, test this out before doing it on a production system. Robert Treat