Joe Conway wrote:
I don't have any more detail yet on exactly what he was doing at this point, but I grabbed a copy of $PGDATA and looked at it on my own machine (since he doesn't have debug and assert support). Logging into any other database works fine, but the offending database produces this backtrace:

It turns out the "corruption" was user error. He ran a statement that inadvertantly set reltriggers = 1 for every row in pg_class. This is what led to the infinite recursion.


For the archives, I was able to hack my way into the database by wrapping the body of RelationBuildTriggers() in "if (relation->rd_id > 17000) {}", thus excluding system tables. Once back in the database, updating reltriggers in pg_class to appropriate values restored access to the database with an unhacked backend.

Joe



---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to