On 7/11/07, Tom Lane <[EMAIL PROTECTED]> wrote:
Notice that recursiveDeletion() tries to clean out pg_depend before it actually deletes the target object, and in the current code that object-specific subroutine is the only thing that takes any sort of lock.
In the past 4-6 months, we've seen 4 cases that look like logical catalog corruption in the area of dependencies and, likely, concurrent activity. I don't recall the exact releases off-hand, but 1 case was on 8.1 and the others were on 8.2. In two of the cases, there were DDL changes while running Slony (which we originally attributed to Slony). The other two cases were normal DDL including ALTER TABLE ADD COLUMN, CREATE OR REPLACE VIEW, and REINDEX. Unfortunately, we were not able to acquire a forensic copy of the databases for further analysis. In all cases, the hardware behaved and tested fine. But, it looks dependency-related as in all cases, dependency records existed for views and indexes which no longer existed in pg_class (the files and records were gone) Sorry I don't have more information available right now, but this is an area that requires further investigation. -- Jonah H. Harris, Software Architect | phone: 732.331.1324 EnterpriseDB Corporation | fax: 732.331.1301 33 Wood Ave S, 3rd Floor | [EMAIL PROTECTED] Iselin, New Jersey 08830 | http://www.enterprisedb.com/ ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq