Some strange bug with drop table with slony cluster

From: Maxim Boguk <mboguk(at)masterhost(dot)ru>
To: pgsql-general(at)postgresql(dot)org
Subject: Some strange bug with drop table with slony cluster
Date: 2009-06-17 20:17:28
Message-ID: 4A394F58.3000600@masterhost.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

DB version: PostgreSQL 8.3.6 (under linux)
no server/db crashes happen before.

Server was slave in slony replication.

Now problem:
table was unsubscribed from replication (without any errors)
and then dropped from master without any errors

But when i try drop table from slave i got very strange error:

hh=# drop TABLE metro_station_old;
ERROR: "area_pk" is an index

hh=# \d+ metro_station_old
Table "public.metro_station_old"
Column | Type | Modifiers | Description
------------------+-----------------------+-------------------------------+-------------
metro_station_id | integer | not null |
city_id | integer | not null |
metro_line_id | integer | not null |
city_district_id | integer | not null |
name | character varying(64) | not null |
image_point_x | integer | |
image_point_y | integer | |
acronym_line | character varying(10) | default ''::character varying |
colocation | integer | |
Foreign-key constraints:
"metro_station_ibfk_1" FOREIGN KEY (city_id) REFERENCES area(area_id)
"metro_station_ibfk_2" FOREIGN KEY (metro_line_id) REFERENCES metro_line(metro_line_id)
"metro_station_ibfk_3" FOREIGN KEY (city_district_id) REFERENCES tables_to_drop.city_district(city_district_id)
Has OIDs: no

hh=# \d+ area_pk
Index "public.area_pk"
Column | Type | Description
---------+---------+-------------
area_id | integer |
primary key, btree, for table "public.area"

complete independent things.
Also:
hh=# ALTER TABLE metro_station_old drop constraint "metro_station_ibfk_1";
ERROR: "area_pk" is an index
hh=# ALTER TABLE metro_station_old drop constraint "metro_station_ibfk_2";
ERROR: "metro_line_pk" is an index
hh=# ALTER TABLE metro_station_old drop constraint "metro_station_ibfk_3";
ERROR: "city_district_pk" is an index

First thing witch i think it is corrupted cache in shared memory or something like...
but fresh restart of db server do not change situation.

second thing is possible broken system indexes... but
reindex system hh;
not help too

hh=# SELECT oid from pg_class where relname='metro_station_old';
oid
-------
17542
(1 row)

hh=# SELECT oid from pg_class where relname='area_pk';
oid
-------
18933
(1 row)

Now i out of ideas.

Main thing what made me worry is second slave show same issue. So that is not single random error.

Because one of slaves is pure backup i can easy experiment with him.
But need any hints what to look next.

PS: one additional info... i can rename table via alter without errors. But still can't drop it.

--
SY, Maxim Boguk

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2009-06-17 21:19:16 partitioning example
Previous Message artacus 2009-06-17 19:25:40 Re: Naming functions with reserved words