Long-running DELETE

Поиск
Список
Период
Сортировка
От jboes@nexcerpt.com (Jeff Boes)
Тема Long-running DELETE
Дата
Msg-id d40a65a1.0201151102.218752c@posting.google.com
обсуждение исходный текст
Ответы Re: Long-running DELETE  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Re: Long-running DELETE  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Frank Bax
Дата:
Сообщение: Re: Long-running DELETE...WHERE...
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Long-running DELETE