Обсуждение: Column duplication with \d in psql

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

Column duplication with \d in psql

От
Adam Witney
Дата:
Something strange has just appeared in my database, can anyone explain this
duplication of columns:

test=# \d plate_reporter
                                      Table "plate_reporter"
      Column       |  Type   |                             Modifiers
-------------------+---------+--------------------------------------------
 plate_reporter_id | integer | not null,
 plate_reporter_id | integer | not null,
 plate_id          | integer | not null
 plate_id          | integer | not null
 well_address      | text    | not null
 well_address      | text    | not null
 reporter_id       | integer | not null
 reporter_id       | integer | not null
 dilution_factor   | text    |
 dilution_factor   | text    |


Thanks

Adam


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


Re: Column duplication with \d in psql

От
Bruce Momjian
Дата:
Adam Witney wrote:
>
> Something strange has just appeared in my database, can anyone explain this
> duplication of columns:
>
> test=# \d plate_reporter
>                                       Table "plate_reporter"
>       Column       |  Type   |                             Modifiers
> -------------------+---------+--------------------------------------------
>  plate_reporter_id | integer | not null,
>  plate_reporter_id | integer | not null,
>  plate_id          | integer | not null
>  plate_id          | integer | not null
>  well_address      | text    | not null
>  well_address      | text    | not null
>  reporter_id       | integer | not null
>  reporter_id       | integer | not null
>  dilution_factor   | text    |
>  dilution_factor   | text    |

What version of PostgreSQL are you using?  Old versions could get
duplicates in some system tables.  Do you have a two row for
'plate_reporter' in pg_class?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: Column duplication with \d in psql

От
Adam Witney
Дата:
On 10/2/05 5:45 pm, "Bruce Momjian" <pgman@candle.pha.pa.us> wrote:

> Adam Witney wrote:
>>
>> Something strange has just appeared in my database, can anyone explain this
>> duplication of columns:
>>
>> test=# \d plate_reporter
>>                                       Table "plate_reporter"
>>       Column       |  Type   |                             Modifiers
>> -------------------+---------+--------------------------------------------
>>  plate_reporter_id | integer | not null,
>>  plate_reporter_id | integer | not null,
>>  plate_id          | integer | not null
>>  plate_id          | integer | not null
>>  well_address      | text    | not null
>>  well_address      | text    | not null
>>  reporter_id       | integer | not null
>>  reporter_id       | integer | not null
>>  dilution_factor   | text    |
>>  dilution_factor   | text    |
>
> What version of PostgreSQL are you using?

select version();
                                                         version
----------------------------------------------------------------------------
---------------------------------------------
 PostgreSQL 7.4.6 on powerpc-apple-darwin7.6.0, compiled by GCC gcc (GCC)
3.3 20030304 (Apple Computer, Inc. build 1495)
(1 row)

> Old versions could get
> duplicates in some system tables.  Do you have a two row for
> 'plate_reporter' in pg_class?

Ah yes, there are two rows for 'plate_reporter' in pg_class. What would be
the best way of fixing this?

Thanks

Adam


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


Re: Column duplication with \d in psql

От
Bruce Momjian
Дата:
Adam Witney wrote:
> On 10/2/05 5:45 pm, "Bruce Momjian" <pgman@candle.pha.pa.us> wrote:
>
> > Adam Witney wrote:
> >>
> >> Something strange has just appeared in my database, can anyone explain this
> >> duplication of columns:
> >>
> >> test=# \d plate_reporter
> >>                                       Table "plate_reporter"
> >>       Column       |  Type   |                             Modifiers
> >> -------------------+---------+--------------------------------------------
> >>  plate_reporter_id | integer | not null,
> >>  plate_reporter_id | integer | not null,
> >>  plate_id          | integer | not null
> >>  plate_id          | integer | not null
> >>  well_address      | text    | not null
> >>  well_address      | text    | not null
> >>  reporter_id       | integer | not null
> >>  reporter_id       | integer | not null
> >>  dilution_factor   | text    |
> >>  dilution_factor   | text    |
> >
> > What version of PostgreSQL are you using?
>
> select version();
>                                                          version
> ----------------------------------------------------------------------------
> ---------------------------------------------
>  PostgreSQL 7.4.6 on powerpc-apple-darwin7.6.0, compiled by GCC gcc (GCC)
> 3.3 20030304 (Apple Computer, Inc. build 1495)
> (1 row)
>
> > Old versions could get
> > duplicates in some system tables.  Do you have a two row for
> > 'plate_reporter' in pg_class?
>
> Ah yes, there are two rows for 'plate_reporter' in pg_class. What would be
> the best way of fixing this?

Wow, 7.4.6 too.  That should never happen.  Did you have any hardware
reliablity problems like bad disks or RAM?

The fix would be to identify which pg_class row is valid and remove the
other.  If they are the same, use the ctid to remove just one of them.
Also check for other possible duplicates in pg_class.

This should never happen so I suspect there is some hardware problem on
your machine as well.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073