Thread: BUG #5259: the table name double

BUG #5259: the table name double

From
"David"
Date:
The following bug has been logged online:

Bug reference:      5259
Logged by:          David
Email address:      goodomens@21cn.com
PostgreSQL version: 8.0
Operating system:   RHEL5
Description:        the table name double
Details:

hi

  the table name double,why?

                                  Access privileges for database "gudumami"
 Schema |                  Name                   |   Type   |
Access privileges
--------+-----------------------------------------+----------+--------------
---------------------------------
 public | ad_advert                               | table    |
 public | ad_advert                               | table    |
 public | ad_advice                               | table    |
 public | ad_advice                               | table    |
 public | ad_advice_id_seq                        | sequence |
 public | ad_advice_id_seq                        | sequence |
 public | ad_article                              | table    |
 public | ad_article                              | table    |
 public | ad_authority                            | table    |
 public | ad_authority                            | table    |
 public | ad_authority_rank_id_seq                | sequence |
 public | ad_authority_rank_id_seq                | sequence |
 public | ad_autolink                             | table    |
 public | ad_autolink                             | table    |

Re: BUG #5259: the table name double

From
Craig Ringer
Date:
On 4/01/2010 2:26 PM, David wrote:
>
> The following bug has been logged online:
>
> Bug reference:      5259
> Logged by:          David
> Email address:      goodomens@21cn.com
> PostgreSQL version: 8.0
> Operating system:   RHEL5
> Description:        the table name double
> Details:
>
> hi
>
>    the table name double,why?

How about some information?

Is this the output of psql's `\dp' command? If so, where are the actual
privelege rows - did you delete them, or is the output you pasted
actually EXACTLY what came out of psql?

What version of the ancient and approaching-retirement 8.0 are you
using? "select pg_version()".

What's the output of this query:

   \o output.txt
   SELECT c.oid AS coid, n.oid AS noid, c.relname AS "Name", n.nspname
AS "namespace" FROM pg_catalog.pg_class c LEFT OUTER JOIN
pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN
('r', 'v', 'S');
   \o

Please attach "output.txt" rather than copying and pasting, so that line
wrapping is preserved.


--
Craig Ringer

Re: BUG #5259: the table name double

From
Craig Ringer
Date:
On 4/01/2010 6:18 PM, Goodomens wrote:
> Craig Ringer
> I come from Shanghai of China,my english is not well,sorry.
>  >Is this the output of psql's `\dp' command? If so, where are the actual
>  >privelege rows - did you delete them, or is the output you pasted
>  >actually EXACTLY what came out of psql?
> yes ,is \dp command .
>  >What version of the ancient and approaching-retirement 8.0 are you
>  >using? "select pg_version()".
> select pg_version();
> ERROR: function pg_version() does not exist
> HINT: No function matches the given name and argument types. You may
> need to add explicit type casts.

Whoops, sorry - I meant "select version();"

> [root@db207 pgsql]# more PG_VERSION
> 8.0

Yes, but there's a patch level that doesn't affect compatibility with
the database files and thus isn't in PG_VERSION. Your server might be
missing major and important bug fixes if it's an older version.

--
Craig Ringer

Re: BUG #5259: the table name double

From
Tom Lane
Date:
Craig Ringer <craig@postnewspapers.com.au> writes:
> On 4/01/2010 2:26 PM, David wrote:
>> the table name double,why?

> How about some information?

A reasonable bet is that the pg_namespace row for "public" has gotten
duplicated (either in reality, or there's an extra index entry for it).
Which would cause the join in psql's \dp query to show tables in that
schema twice.  So what I'd like to see is the output of
    select ctid,xmin,xmax,nspname from pg_namespace;

Also the exact backend version, as you previously mentioned.

A quick look through the 8.0.x CVS history shows at least one
long-since-fixed bug that could have resulted in duplicate rows or
duplicate index entries.

            regards, tom lane