
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

Wed, 12 Feb 2003 22:02:26 +0100
Ulf Rehmann <rehmann@mathematik.uni-bielefeld.de>
postgresql 7.3 versus 7.2
> 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)


Thu, 13 Feb 2003 09:43:23 +0300 (MSK)
"."@babolo.ru
Re: postgresql 7.3 versus 7.2
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






13 Feb 2003 08:49:36 -0500
Robert Treat <xzilla@users.sourceforge.net>
Re: postgresql 7.3 versus 7.2

 | 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





Thu, 13 Feb 2003 15:14:01 +0100
Ulf Rehmann <rehmann@mathematik.uni-bielefeld.de>
Re: postgresql 7.3 versus 7.2
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

Thu, 13 Feb 2003 10:42:27 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] postgresql 7.3 versus 7.2 
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




13 Feb 2003 11:31:28 -0500
Neil Conway <neilc@samurai.com>
Re: [HACKERS] postgresql 7.3 versus 7.2