Обсуждение: Column duplication with \d in psql
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.
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
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.
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