Thread: pg_restore problem
Morning guys...
--
Rgds
Kjell Inge Øygard
Electronic Chart Centre
www.ecc.no
I have two servers , one with postgres 9.2rc1 and one with postgres 9.1.4. I need to do a restore from a dump from 9.1.4 to 9.2rc1 and I get this error:
pg_restore: [archiver (db)] Error from TOC entry 177675; 2613 579519 BLOB 579519 primar
pg_restore: [archiver (db)] could not execute query: ERROR: duplicate key value violates unique constraint "pg_largeobject_metadata_oid_index"
DETAIL: Key (oid)=(579519) already exists.
Command was: SELECT pg_catalog.lo_create('579519');
This just keep repeat itself in the log.
The command used is: pg_restore -O -U user -d database2 database2.dump >dump.log 2>&1 &
Appreciate any help
Rgds
Kjell Inge Øygard
Electronic Chart Centre
www.ecc.no
On 09/12/2012 12:23 AM, Kjell Øygard wrote: > Morning guys... > > I have two servers , one with postgres 9.2rc1 and one with postgres > 9.1.4. I need to do a restore from a dump from 9.1.4 to 9.2rc1 and I get > this error: > > pg_restore: [archiver (db)] Error from TOC entry 177675; 2613 579519 > BLOB 579519 primar > pg_restore: [archiver (db)] could not execute query: ERROR: duplicate > key value violates unique constraint "pg_largeobject_metadata_oid_index" > DETAIL: Key (oid)=(579519) already exists. > Command was: SELECT pg_catalog.lo_create('579519'); > > This just keep repeat itself in the log. > > The command used is: pg_restore -O -U user -d database2 database2.dump > >dump.log 2>&1 & > > Appreciate any help Several things: 1) The production version of 9,2 is out(9.2.0). 2) When you did the dump from 9.1.4 did you use the 9.1.4 or 9.2 version of pg_dump? 3) What was the pg_dump command you used? > > -- > Rgds > Kjell Inge Øygard > Electronic Chart Centre > www.ecc.no <http://www.ecc.no> > -- Adrian Klaver adrian.klaver@gmail.com
On 09/14/2012 01:58 AM, Kjell Øygard wrote: > 1 - Ok, I was not aware of that.... > 2 - I used version 9.1.4 of pg_dump > 3 - The command was in a script, se below > > pdir=/usr/local/postgresql-9.1.4/ > bdir=/backup/`hostname -s`/dump/ > export PATH=${pdir}/bin:$PATH > > # make sure tmp files are not readable by others > umask 0077 > > for db in `psql -l -t -h localhost | awk '{print $1}' |grep -v > template|grep -v postgres` > do > pg_dump -h localhost -F c -Z -b $db > ${bdir}/${db}.tmp && mv > ${bdir}/${db}.tmp ${bdir}/${db}.dump I do not see anything obviously wrong. Two suggestions. 1) Use the 9.2 version of pg_dump. Newer versions know about changes in data handling and are also backward compatible(to 7.0). 2) As of 8.3(I believe) the -b switch is redundant for whole database dumps. When you do the above dump are there large objects in the 9.2 database in spite of the errors? > > > rgds Kjell Inge Ø > -- Adrian Klaver adrian.klaver@gmail.com