Long-running DELETE - Mailing list pgsql-sql

From jboes@nexcerpt.com (Jeff Boes)
Subject Long-running DELETE
Date
Msg-id d40a65a1.0201151102.218752c@posting.google.com
Whole thread Raw
Responses Re: Long-running DELETE
Re: Long-running DELETE
List pgsql-sql
Okay, this is really starting to fry me:

I'm trying to delete 1000 rows from a table which is referenced by
several different other tables as a foreign key.  I've turned on
debug_print_query to help track this down.  When I do deletes from
some tables, I can delete hundreds of rows per second.  When I delete
from the main table, it's about 1 row per second.  I've turned off
every trigger in the database:

update pg_triggers set tgenabled=false;

I read that such a change might require restarting the backend, so
I've gone so far as to bounce the database after this step.  What I
see in the log is

DEBUG:  query:  delete from a where id = 49;
DEBUG:  query: SELECT oid FROM ONLY "a_r" WHERE "id" = $1 FOR UPDATE
OF "a_r"
DEBUG:  query: SELECT oid FROM ONLY "a_c" WHERE "id" = $1 FOR UPDATE
OF "a_c"
DEBUG:  query: SELECT oid FROM ONLY "j" WHERE "id" = $1 FOR UPDATE OF
"j"
DEBUG:  query: SELECT oid FROM ONLY "a_r" WHERE "id" = $1 FOR UPDATE
OF "a_r"
DEBUG:  query: SELECT oid FROM ONLY "a_c" WHERE "id" = $1 FOR UPDATE
OF "a_c"
DEBUG:  query: SELECT oid FROM ONLY "j" WHERE "id" = $1 FOR UPDATE OF
"j"
DEBUG:  query: SELECT oid FROM ONLY "a_r" WHERE "id" = $1 FOR UPDATE
OF "a_r"
DEBUG:  query: SELECT oid FROM ONLY "a_c" WHERE "id" = $1 FOR UPDATE
OF "a_c"
DEBUG:  query: SELECT oid FROM ONLY "j" WHERE "id" = $1 FOR UPDATE OF
"j"
DEBUG:  query:  delete from a where id = 50;
DEBUG:  query:  delete from a where id = 53;
etc.


pgsql-sql by date:

Previous
From: "Josh Berkus"
Date:
Subject: Re: Problem with the postgresql operator.
Next
From: Stephan Szabo
Date:
Subject: Re: Long-running DELETE