Назад | Перейти на главную страницу

Удаление таблицы Postgresql занимает очень много времени

Я новичок в Postgresql и администрировании серверов, поэтому я не совсем уверен, нормальное ли это поведение или нет. Прямо сейчас я пытаюсь удалить таблицу с каскадной опцией.

Я использовал команду

DROP TABLE library_genre CASCADE;

Прошло около получаса, а он все еще говорит

NOTICE:  drop cascades to constraint radio_logs_entry_genre_id_fkey on table logs_entry

Я не совсем уверен, как проверить, насколько велика база данных, но я не могу представить, что она слишком велика. Как вы думаете, могла ли быть какая-то коррупция, из-за которой это длилось так долго?

Будем очень признательны за любые предложения по выяснению этого. Какие команды мне следует использовать, чтобы понять, что происходит?

Изменить: новая информация

Я запустил это на pg_dump, я сделал это до того, как попытался отбросить таблицу

du -k pg_dump_file

и он дал мне 27712. Я не уверен, какой размер данных он возвращает. Если это килобайты, это всего 27 мегабайт, и это не похоже на то, что изменение займет так много времени.

Редактировать # 2. Я запустил топ, и похоже, что postgres на самом деле не использует много процессора или памяти.

Удаление вашей таблицы происходит каскадно через ограничение - Postgres, скорее всего, связан с проверкой строк в этой ссылающейся таблице, чтобы определить, что ему нужно с ними делать.

Чтобы ускорить процесс, вы можете сначала отказаться от ограничений и / или TRUNCATE стол, который вы хотите бросить.