Re: loading pg_description ... FATAL: duplicate key violates unique constraint "pg_description_o_c_o_index"

From: "surabhi(dot)ahuja" <surabhi(dot)ahuja(at)iiitb(dot)ac(dot)in>
To: "Richard Huxton" <dev(at)archonet(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: loading pg_description ... FATAL: duplicate key violates unique constraint "pg_description_o_c_o_index"
Date: 2006-02-09 04:54:38
Message-ID: 967CFC4343BF2A4DAFACD026D33DC85118ECBB@jal.iiitb.ac.in
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

thank u so much for the help.
ok i ll tell u how i arrived at this problem.

this i was using just for testing purpose on my local m/c

i had deleted rows in a table, and had searched and found the following:

Index: src/backend/utils/time/tqual.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v
retrieving revision 1.81
diff -c -c -r1.81 tqual.c
*** src/backend/utils/time/tqual.c 31 Dec 2004 22:02:56 -0000 1.81
--- src/backend/utils/time/tqual.c 20 Feb 2005 04:52:13 -0000
***************
*** 776,781 ****
--- 776,786 ----
HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot,
Buffer buffer)
{
+ /* This is to be used only for disaster recovery and requires serious analysis. */
+ #ifdef MAKE_ALL_TUPLES_VISIBLE
+ return true;
+ #endif
+
if (!(tuple->t_infomask & HEAP_XMIN_COMMITTED))
{
if (tuple->t_infomask & HEAP_XMIN_INVALID)

so i went ahead and added these lines
+ #ifdef MAKE_ALL_TUPLES_VISIBLE
+ return true;
+ #endif
within the function(at the beginning)

Then i removed the existing installed version. i had unistalled the rpms
( i searched for it in google and managed to find how to do it)

now ther was no postgres installed

then i did ./configure CFLAGS="-D MAKE_ALL_TUPLES_VISIBLE"

and gmake

and the logged in as root

and did gmake install

it got installed properly

but when i did /usr/local/pgsql/bin/initdb -D /homes/surabi/data

it gave me this error:
loading pg_description ... FATAL: duplicate key violates unique constraint "pg_description_o_c_o_index"
child process exited with exit code 1
initdb: removing contents of data directory "/homes/surabi/data"

please tell me how to proceed. I just want to try this experiment for knowledge sake.

thanks,
reagrds
Surabhi

________________________________

From: Richard Huxton [mailto:dev(at)archonet(dot)com]
Sent: Wed 2/8/2006 4:48 PM
To: surabhi.ahuja
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] loading pg_description ... FATAL: duplicate key violates unique constraint "pg_description_o_c_o_index"

***********************
Your mail has been scanned by iiitb VirusWall.
***********-***********

surabhi.ahuja wrote:
> actually
>
> i had a version existing earlier. guess it was installed from an rpm..
> so ther are binaries like postmaster inside /usr/bin itself
>
> and after i installed /8.0.1, ther are binaries even in /usr/local/pgsql/bin.
>
> how should i uninstall the whole thing and begin a fresh instaallation of 8.0.6.
>
> i ll delete the directory postgresql-8.0.1
>
> and i shall also remove usr/local/pgsql
>
> now how shd i uninstall that rpm so that the binaries in /usr/bin also get removed

Surabhi - can I suggest you just stick to the RPMs? If you're not sure
how to remove RPMs then you'll want to move slowly until you have more
experience of Linux system administration.

You almost certainly have some sort of graphical package-manager if
you're running a recent redhat/suse and that will give you the most
recent packaged version for your distribution.

If you want something not provided by your distribution though...

1. pg_dump all your existing databases (just to be safe) and check that
you know how to restore them and that they contain data.
2. Go to http://www.postgresql.org/ and look for "Latest Releases"
Click the "binary" link next to "8.0.6"
3. Click linux, rpms, and work down to your version of redhat/fedora.
4. You'll want these:
postgresql-8.0.6-1PGDG.i686.rpm
postgresql-server-8.0.6-1PGDG.i686.rpm
postgresql-docs-8.0.6-1PGDG.i686.rpm
postgresql-libs-8.0.6-1PGDG.i686.rpm
and possibly one or more of:
postgresql-contrib-8.0.6-1PGDG.i686.rpm
postgresql-jdbc-8.0.6-1PGDG.i686.rpm
postgresql-pl-8.0.6-1PGDG.i686.rpm
Download them all to a suitable directory and then
5. rpm -Uvh postgresql*rpm
This should upgrade your existing installation and then you can
restore your databases.
6. Get a good book on linux administration - plenty out there and you
can check reviews online. Set aside a few days to spend making sure you
understand how to manage RPMs, backups, the root user, admin tools like
ps/top/lsof etc.

HTH
--
Richard Huxton
Archonet Ltd

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ludek Finstrle 2006-02-09 06:16:41 Re: Problem using ODBC from .NET framework
Previous Message Karl O. Pinc 2006-02-09 04:27:30 Re: Request to have VACUUM ignore cost based limits