Thread: 'Zombie' tables
We run 6.5.2 on a Mandrake Linux 6.1 box. The dBs are used as backends to various websites. They are accessed via Perl CGI scripts. The scripts create various temporary tables which are then later dropped. Occasionally the 'DROP' doesnt work properly. The file base/<dbname>/<tablename> gets deleted, but the entry in pg_class doesnt. This leads to a table that cant be dropped. (see below) The only way out of this that we have found is to manually copy another file to base/<dbname>/<zombietablename> and then drop it. Is this a bug or are we doing something wrong? Thanks Steve select relname from pg_class where relname ~'^r'; relname ------- r863 r865 r866 r864 r867 drop table r867; ERROR: mdopen: couldn't open r867: No such file or directory -- thorNET - Internet Consultancy, Services & Training Phone: 01454 854413 Fax: 01454 854412 http://www.thornet.co.uk
Steve Heaven <steve@thornet.co.uk> writes: > We run 6.5.2 on a Mandrake Linux 6.1 box. > The scripts create various temporary tables which are then later > dropped. Occasionally the 'DROP' doesnt work properly. The file > base/<dbname>/<tablename> gets deleted, but the entry in pg_class > doesnt. This leads to a table that cant be dropped. (see below) The only > way out of this that we have found is to manually copy another file to > base/<dbname>/<zombietablename> and then drop it. That's the standard workaround. > Is this a bug or are we doing something wrong? It's a bug. Fixed in 7.0 as far as I know. regards, tom lane