Обсуждение: поальтерить индексы/чекеры

Поиск
Список
Период
Сортировка

поальтерить индексы/чекеры

От
"Dmitry E. Oboukhov"
Дата:
имеется 100500 одинаковых таблиц

CREATE TABLE "table_name" (
    "id"    SERIAL PRIMARY KEY,
    "clid"  TEXT UNIQUE,
    "name"  CHECK("name" ~ '\S')
)

(таблица не реальная а пример, если что)



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

теперь надо пройти по всем таблицам и допустим поменять чекер или
поменять/удалить такой-то индекс

вопросы:

1. как не зная имени индекса в таблице (но зная его определение,
например что он уникальный по второму полю) его поальтерить из SQL
(понятно что можно скрипт на каком-то языке написать)
2. тот же вопрос с чекерами

то есть задача написать некий upgrade.sql, который набором команд
допустим уберет все индексы на второе поле с таблиц table_*_123

--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Вложения