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
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 |