172 похожих чатов

CREATE INDEX CONCURRENTLY Добрый день) Пишу plpgsql блок, для maintnence задачи,

надо раз в N дней создавать новый индекс

ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block при вызове EXECUTE ddl;

решил пробелму так:

ddl := $$
CREATE INDEX CONCURRENTLY .....
$$;

PERFORM dblink_exec('dbname=' || current_database() ||' user=postgres ',ddl);

вопрос, наскольк плохо испоьзовать dblink_exec ? не просто так-же они не дают вызывать CREATE INDEX CONCURRENTLY

Но не хотелось писать на баше логику, хотел ограничится чисто plpgsql.
просто sql скрипт не подходит, потмоу что мне надо динамически генрировать WHERE условие дялиндекса:
format(' ... WHERE message_timestamp > %L::timestamp with time zone ;', last_date);

По сути у меня индекс покарывает последние два месяца данных, для быстрых запросов, остальное идет по дургому индексу.

такой-себе недо-шардинг.

1 ответов

17 просмотров
Bogdan- Автор вопроса

в общем, если кому интесно, запуск срипта на базе postgres и выполенение создания индексов на рабочей базе через dblink сработало! 😊

Похожие вопросы

Обсуждают сегодня

А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта