Friday, August 15, 2008

Re: [HACKERS] migrate data 6.5.3 -> 8.3.1

Andreas Pflug wrote:
>>>> I want to try new pg_dump to connect to old server, but i can't - old
>>>> postgres doesn't listening to network socket. Why postgres 6.5.3 not
>>>> binding to network socket? It started with this line:
>
> Maybe you should just dump schema and data separately with your old
> pg_dump tool, then rework the schema for 8.3 manually.

I can do this, but i don't know how to rework it.

psql:dump:389: WARNING: aggregate attribute "sfunc2" not recognized
psql:dump:389: WARNING: aggregate attribute "stype2" not recognized
psql:dump:389: WARNING: aggregate attribute "initcond2" not recognized
psql:dump:389: ERROR: function int84div(bigint) does not exist
psql:dump:390: ERROR: function int4div(integer) does not exist
psql:dump:391: ERROR: function int2div(smallint) does not exist
psql:dump:392: ERROR: function float4div(real) does not exist
psql:dump:393: ERROR: function float8div(double precision) does not exist
psql:dump:394: ERROR: function cash_div_flt8(money) does not exist
psql:dump:395: ERROR: type "timespan" does not exist
psql:dump:396: ERROR: function numeric_div(numeric) does not exist
psql:dump:410: ERROR: function int4larger(abstime, abstime) does not exist
psql:dump:422: ERROR: function int4smaller(abstime, abstime) does not exist
psql:dump:413: ERROR: type "datetime" does not exist
psql:dump:429: ERROR: aggregate stype must be specified

If i understand it right, much of this errors are about AGGREGATEs (they
are a part of schema):

CREATE AGGREGATE avg ( BASETYPE = int8, SFUNC1 = int8pl, STYPE1 = int8,
INITCOND1 = '', SFUNC2 = int4inc, STYPE2 = int4, INITCOND
2 = '0', FINALFUNC = int84div );

CREATE AGGREGATE avg ( BASETYPE = int4, SFUNC1 = int4pl, STYPE1 = int4,
INITCOND1 = '', SFUNC2 = int4inc, STYPE2 = int4, INITCOND
2 = '0', FINALFUNC = int4div );

CREATE AGGREGATE avg ( BASETYPE = int2, SFUNC1 = int2pl, STYPE1 = int2,
INITCOND1 = '', SFUNC2 = int2inc, STYPE2 = int2, INITCOND
2 = '0', FINALFUNC = int2div );

CREATE AGGREGATE avg ( BASETYPE = float4, SFUNC1 = float4pl, STYPE1 =
float4, INITCOND1 = '', SFUNC2 = float4inc, STYPE2 = float4
, INITCOND2 = '0.0', FINALFUNC = float4div );

CREATE AGGREGATE avg ( BASETYPE = float8, SFUNC1 = float8pl, STYPE1 =
float8, INITCOND1 = '', SFUNC2 = float8inc, STYPE2 = float8
, INITCOND2 = '0.0', FINALFUNC = float8div );

CREATE AGGREGATE avg ( BASETYPE = money, SFUNC1 = cash_pl, STYPE1 =
money, INITCOND1 = '', SFUNC2 = float8inc, STYPE2 = float8, I
NITCOND2 = '0.0', FINALFUNC = cash_div_flt8 );

CREATE AGGREGATE avg ( BASETYPE = timespan, SFUNC1 = timespan_pl,
STYPE1 = timespan, INITCOND1 = '', SFUNC2 = float8inc, STYPE2 =
float8, INITCOND2 = '0.0', FINALFUNC = timespan_div );

CREATE AGGREGATE avg ( BASETYPE = numeric, SFUNC1 = numeric_add, STYPE1
= numeric, INITCOND1 = '', SFUNC2 = numeric_inc, STYPE2 =
numeric, INITCOND2 = '0', FINALFUNC = numeric_div );

So, i have to replace these float4div to some new equivalent? And where
can i find those equivalents for all these functions and special words,
that "doesn't exists"?

--
alexander lunyov

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

No comments: