Обсуждение: pg_dump: aborting because of version mismatch

Поиск
Список
Период
Сортировка

pg_dump: aborting because of version mismatch

От
"Net Tree Inc."
Дата:
>>I am keep getting error of mismatch of pg_dump version. how should one dealing with different version of pg_dump normally? 

C:\Program Files\pgAdmin III\1.8\pg_dump.exe -h 192.168.222.129 -p 5433 -U postgres -F c -b -v -f "C:\Documents and Settings\steven\Desktop\template.backup" template_postgis
pg_dump: server version: 8.3.9; pg_dump version: 8.3.0
pg_dump: aborting because of version mismatch  (Use the -i option to proceed anyway.)
pg_dump: *** aborted because of error

Process returned exit code 1.

>>If I use the '-i' option it still give the following error


[postgres@localhost ~]$ pg_dump -h 172.16.1.246 -p 5432 -U postgres -Fc -i postgres > postgres
Password:
pg_dump.bin: server version: 8.4.0; pg_dump.bin version: 8.3.9
pg_dump.bin: proceeding despite version mismatch
pg_dump.bin: SQL command failed
pg_dump.bin: Error message from server: ERROR:  column "reltriggers" does not exist
LINE 1: ...oles WHERE oid = relowner) as rolname, relchecks, reltrigger...
                                                             ^
pg_dump.bin: The command was: SELECT c.tableoid, c.oid, relname, relacl, relkind, relnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = relowner) as rolname, relchecks, reltriggers, relhasindex, relhasrules, relhasoids, d.refobjid as owning_tab, d.refobjsubid as owning_col, (SELECT spcname FROM pg_tablespace t WHERE t.oid = c.reltablespace) AS reltablespace, array_to_string(c.reloptions, ', ') as reloptions from pg_class c left join pg_depend d on (c.relkind = 'S' and d.classid = c.tableoid and d.objid = c.oid and d.objsubid = 0 and d.refclassid = c.tableoid and d.deptype = 'a') where relkind in ('r', 'S', 'v', 'c') order by c.oid

Re: [GENERAL] pg_dump: aborting because of version mismatch

От
Magnus Hagander
Дата:
2010/2/23 Net Tree Inc. <nettreeinc@gmail.com>:
>>>I am keep getting error of mismatch of pg_dump version. how should one dealing with different version of pg_dump
normally?
> C:\Program Files\pgAdmin III\1.8\pg_dump.exe -h 192.168.222.129 -p 5433 -U postgres -F c -b -v -f "C:\Documents and
Settings\steven\Desktop\template.backup"template_postgis 
> pg_dump: server version: 8.3.9; pg_dump version: 8.3.0
> pg_dump: aborting because of version mismatch  (Use the -i option to proceed anyway.)
> pg_dump: *** aborted because of error
> Process returned exit code 1.
>>>If I use the '-i' option it still give the following error
>
> [postgres@localhost ~]$ pg_dump -h 172.16.1.246 -p 5432 -U postgres -Fc -i postgres > postgres
> Password:
> pg_dump.bin: server version: 8.4.0; pg_dump.bin version: 8.3.9
> pg_dump.bin: proceeding despite version mismatch
> pg_dump.bin: SQL command failed
> pg_dump.bin: Error message from server: ERROR:  column "reltriggers" does not exist
> LINE 1: ...oles WHERE oid = relowner) as rolname, relchecks, reltrigger...
>                                                              ^
> pg_dump.bin: The command was: SELECT c.tableoid, c.oid, relname, relacl, relkind, relnamespace, (SELECT rolname FROM
pg_catalog.pg_rolesWHERE oid = relowner) as rolname, relchecks, reltriggers, relhasindex, relhasrules, relhasoids,
d.refobjidas owning_tab, d.refobjsubid as owning_col, (SELECT spcname FROM pg_tablespace t WHERE t.oid =
c.reltablespace)AS reltablespace, array_to_string(c.reloptions, ', ') as reloptions from pg_class c left join pg_depend
don (c.relkind = 'S' and d.classid = c.tableoid and d.objid = c.oid and d.objsubid = 0 and d.refclassid = c.tableoid
andd.deptype = 'a') where relkind in ('r', 'S', 'v', 'c') order by c.oid 


You're doing two different things here. In the first one it's pg_dump
8.3.0 against server 8.3.9. This should, I think, work if you use -i.
It's not recommended, but it should work.

In the second one, it's pg_dump 8.3.9 against server 8.4.0. This is
simply not supported. You need to use pg_dump 8.4 for server 8.4.


--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Re: [GENERAL] pg_dump: aborting because of version mismatch

От
"Net Tree Inc."
Дата:
Thanks..

This is what I am confused about. I installed a ver. 8.4 postgresql, why it's pg_dump is 8.3.9?? For first one, how could this possibly having problem using pg_dump that comes with the server install?? 

the first one I backup using pgAdmin III ver. 1.8.4 on a ver 8.3.9 postgreSQL server
the second one I backup using command line on a ver 8.4 postgreSQL server

Is this something that can solved by upgrade or reinstall ver. 8.4 of  pg_dump? 

Is that its only downward compatible but not upward? which mean I can do restore on 8.4 from backup created by ver 8.3 pg_dump, but probably won't work the other way around? Definitely impossible? then what is '-i' use for.....?

Steven


On Tue, Feb 23, 2010 at 5:55 PM, Magnus Hagander <magnus@hagander.net> wrote:
2010/2/23 Net Tree Inc. <nettreeinc@gmail.com>:
>>>I am keep getting error of mismatch of pg_dump version. how should one dealing with different version of pg_dump normally?
> C:\Program Files\pgAdmin III\1.8\pg_dump.exe -h 192.168.222.129 -p 5433 -U postgres -F c -b -v -f "C:\Documents and Settings\steven\Desktop\template.backup" template_postgis
> pg_dump: server version: 8.3.9; pg_dump version: 8.3.0
> pg_dump: aborting because of version mismatch  (Use the -i option to proceed anyway.)
> pg_dump: *** aborted because of error
> Process returned exit code 1.
>>>If I use the '-i' option it still give the following error
>
> [postgres@localhost ~]$ pg_dump -h 172.16.1.246 -p 5432 -U postgres -Fc -i postgres > postgres
> Password:
> pg_dump.bin: server version: 8.4.0; pg_dump.bin version: 8.3.9
> pg_dump.bin: proceeding despite version mismatch
> pg_dump.bin: SQL command failed
> pg_dump.bin: Error message from server: ERROR:  column "reltriggers" does not exist
> LINE 1: ...oles WHERE oid = relowner) as rolname, relchecks, reltrigger...
>                                                              ^
> pg_dump.bin: The command was: SELECT c.tableoid, c.oid, relname, relacl, relkind, relnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = relowner) as rolname, relchecks, reltriggers, relhasindex, relhasrules, relhasoids, d.refobjid as owning_tab, d.refobjsubid as owning_col, (SELECT spcname FROM pg_tablespace t WHERE t.oid = c.reltablespace) AS reltablespace, array_to_string(c.reloptions, ', ') as reloptions from pg_class c left join pg_depend d on (c.relkind = 'S' and d.classid = c.tableoid and d.objid = c.oid and d.objsubid = 0 and d.refclassid = c.tableoid and d.deptype = 'a') where relkind in ('r', 'S', 'v', 'c') order by c.oid


You're doing two different things here. In the first one it's pg_dump
8.3.0 against server 8.3.9. This should, I think, work if you use -i.
It's not recommended, but it should work.

In the second one, it's pg_dump 8.3.9 against server 8.4.0. This is
simply not supported. You need to use pg_dump 8.4 for server 8.4.


--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/



--
---------------------------------------
Steven Huang

Re: [GENERAL] pg_dump: aborting because of version mismatch

От
Magnus Hagander
Дата:
2010/2/23 Net Tree Inc. <nettreeinc@gmail.com>:
> Thanks..
> This is what I am confused about. I installed a ver. 8.4 postgresql, why it's pg_dump is 8.3.9?? For first one, how
couldthis possibly having problem using pg_dump that comes with the server install?? 

Comes with what server install? It depends on how you install
PostgreSQL, and on what platform you are. But clearly you are using a
pg_dump that comes from a previous version. It could be that you have
both installed, but that the 8.3 version comes first in your PATH
perhaps?

> the first one I backup using pgAdmin III ver. 1.8.4 on a ver 8.3.9 postgreSQL server

pgadmin ships with a copy of pg_dump. 1.8 ships with pg_dump from 8.3,
so -i should work there. pgadmin 1.8 isn't supported with server 8.4
at all anyway, so you need pgadmin 1.10 for that - which ships with
pg_dump from 8.4.

> the second one I backup using command line on a ver 8.4 postgreSQL server
> Is this something that can solved by upgrade or reinstall ver. 8.4 of  pg_dump?
> Is that its only downward compatible but not upward? which mean I can do restore on 8.4 from backup created by ver
8.3pg_dump, but probably won't work the other way around? Definitely impossible? then what is '-i' use for.....? 

No. You can restore on 8.4 only if you used pg_dump 8.4. But you ca
nuse pg_dump 8.4 on 8.3 just fine.

-i really is for minor versions only. And due to the fact that it's
not really useful, it's been removed (well the option is there, but it
doesn't do anything) in 8.4.
--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/