Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Autovacuum блокирует сейчас выполнение partman.run_maintenance() / 8 сообщений из 8, страница 1 из 1
08.06.2016, 12:26
    #39252685
reddaemon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
Добрый день, сейчас проблема такая, не создаются новые партиции через partman.run_maintenance(). В PgAdmin если смотреть в ServerStatus видно, что блокируется процессом автовакуума.
...
Рейтинг: 0 / 0
08.06.2016, 12:30
    #39252689
reddaemon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
подскажите пожалуйста, что с этим делать, есть таблица большая, примерно 350 млн. записей.
...
Рейтинг: 0 / 0
08.06.2016, 12:54
    #39252719
li_malina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
reddaemon,

Дождаться пока закончится процесс avtovacuum
от (to prevent wraparound) autovacuum вы никуда не уйдете даже если отключите autovacuum на таблице целиком. Это обязательная процедура которую можно конечно заменить ручным vacuum freeze
Можно снять процесс avtovacuum -но он опять запустится автоматически на эту таблицу
...
Рейтинг: 0 / 0
08.06.2016, 13:04
    #39252730
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
reddaemon,

почти наверняка вы использовали не пустую таблицу в качестве родоначальника иерархии

лавров смотрит на вас с одобрением

но не вы первые -- я тоже эмпирически открыл, что таки наследоваться от набитой записями таблицы небезопасно для динамического партицирования. хотя и поделками типа партмана не пользовался.
...
Рейтинг: 0 / 0
08.06.2016, 18:19
    #39253102
reddaemon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
qwwq,

да, не в пустую, так получилось, а что сейчас с этим делать можете подсказать?
...
Рейтинг: 0 / 0
08.06.2016, 18:47
    #39253117
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
reddaemon,

создать пустую копию предка лайком, и переназначить предка (ALTER TABLE ... NO INHERIT | ALTER TABLE ... INHERIT ) , возможно -- разыменовав по пути старую табличку во что--то. а новую -- в старое имя

хотя вы там по рукам и ногам связаны чужой свистоперделкой -- пг_партманом -- вряд ли вам удастся не разбираясь в его кишках поступить сообразно его ограничниям и логике


а стратегически -- избегать использования "решений" будь то что--то от партмана, "постгрес-про", или других клепателей наколенных свистоперделок. пользоваться технологиями, но не "решениями". "решения" писать самостоятельно.
...
Рейтинг: 0 / 0
08.06.2016, 19:16
    #39253131
Misha Tyurin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
partman -- не рекомендовал бы
...
Рейтинг: 0 / 0
09.06.2016, 10:28
    #39253345
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Autovacuum блокирует сейчас выполнение partman.run_maintenance()
Misha Tyurinpartman -- не рекомендовал бы

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

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CREATE OR REPLACE FUNCTION londiste.create_partition(
    i_table text,
    i_part text,
    i_pkeys text,
    i_part_field text,
    i_part_time timestamp with time zone,
    i_part_period text)
  RETURNS integer AS
$BODY$
.....................
.....................
.....................

    -- parent table schema and name + quoted name
    pos := position('.' in i_table);
    if pos > 0 then
        parent_schema := substring(i_table for pos - 1);
        parent_name := substring(i_table from pos + 1);
    else
        parent_schema := 'public';
        parent_name := i_table;
    end if;
.....................



открываем тестовую базёнку и делаем:

Код: sql
1.
2.
3.
4.
CREATE SCHEMA "s.1"
  AUTHORIZATION postgres;

CREATE TABLE "s.1"."t.1" ("f.1" text);



немного медитируем -- хотя и так всё с этими донами педрами ясно.

т.е. чуть более чем все "решения" , даже от грандов, -- заведомое попадалово. надо просто читать коды, поверхностно, чтобы понимать, на что подписываешься.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Autovacuum блокирует сейчас выполнение partman.run_maintenance() / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]