Skip to content

Ошибка при создании партиции #69

@logicall

Description

@logicall

День добрый!
Сегодня я попытался сделать партицирование для такой таблицы

\d+ events;
                                      Таблица "public.events"
   Столбец    |   Тип   |         Модификаторы         | Хранилище | Цель для статистики | Описание
--------------+---------+------------------------------+-----------+---------------------+----------
 eventid      | bigint  | NOT NULL                     | plain     |                     |
 source       | integer | NOT NULL DEFAULT 0           | plain     |                     |
 object       | integer | NOT NULL DEFAULT 0           | plain     |                     |
 objectid     | bigint  | NOT NULL DEFAULT '0'::bigint | plain     |                     |
 clock        | integer | NOT NULL DEFAULT 0           | plain     |                     |
 value        | integer | NOT NULL DEFAULT 0           | plain     |                     |
 acknowledged | integer | NOT NULL DEFAULT 0           | plain     |                     |
 ns           | integer | NOT NULL DEFAULT 0           | plain     |                     |
Индексы:
    "events_pkey" PRIMARY KEY, btree (eventid)
    "events_1" btree (source, object, objectid, clock)
    "events_2" btree (source, object, clock)
Ссылки извне:
    TABLE "acknowledges" CONSTRAINT "c_acknowledges_2" FOREIGN KEY (eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "alerts" CONSTRAINT "c_alerts_2" FOREIGN KEY (eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "event_recovery" CONSTRAINT "c_event_recovery_1" FOREIGN KEY (eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "event_recovery" CONSTRAINT "c_event_recovery_2" FOREIGN KEY (r_eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "event_recovery" CONSTRAINT "c_event_recovery_3" FOREIGN KEY (c_eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "event_tag" CONSTRAINT "c_event_tag_1" FOREIGN KEY (eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "problem" CONSTRAINT "c_problem_1" FOREIGN KEY (eventid) REFERENCES events(eventid) ON DELETE CASCADE
    TABLE "problem" CONSTRAINT "c_problem_2" FOREIGN KEY (r_eventid) REFERENCES events(eventid) ON DELETE CASCADE

но у меня вываливается ошибка

SELECT create_range_partitions('events', 'clock', '1479168000'::int, '2592000'::int);
WARNING:  foreign key "c_alerts_2" references relation "events"
WARNING:  foreign key "c_acknowledges_2" references relation "events"
WARNING:  foreign key "c_event_tag_1" references relation "events"
WARNING:  foreign key "c_problem_1" references relation "events"
WARNING:  foreign key "c_problem_2" references relation "events"
WARNING:  foreign key "c_event_recovery_1" references relation "events"
WARNING:  foreign key "c_event_recovery_2" references relation "events"
WARNING:  foreign key "c_event_recovery_3" references relation "events"
ERROR:  relation "events" is referenced from other relations
КОНТЕКСТ:  PL/pgSQL function common_relation_checks(regclass,text) line 36 at RAISE
SQL statement "SELECT public.common_relation_checks(parent_relid, attribute)"
PL/pgSQL function create_range_partitions(regclass,text,anyelement,anyelement,integer,boolean) line 21 at PERFORM

Скажите, что я делаю не так?
Спасибо!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions