Как пропустить или изменить индекс в pgloader? - PullRequest
1 голос
/ 28 июня 2019

У меня есть база данных MySQL с индексом FULLTEXT, которую я хочу перенести в Postgres. Когда я создаю базу данных Postgres, используя pgloader , индекс в Postgres становится следующим:

"idx_33441_ibtsearchidx" gin (to_tsvector('simple'::regconfig, keywords))

Теперь, конфигурация simple не то, что я хочу; Мне для этого приложения нужен english. Я могу вручную ввести оператор ALTER INDEX в psql после миграции, но я хотел бы полностью автоматизировать процесс pgloader (который прекрасно работал в любом другом случае!)

Но как мне настроить pgloader для этого? Кажется, есть три варианта:

  1. Просто поместите оператор ALTER INDEX в раздел AFTER LOAD скрипта pgloader. Но проблема в том, что я не буду знать имя индекса. Также я думаю, что этот подход был бы неэффективным, так как был создан индекс, а затем был бы создан новый.

  2. Скажите pgloader NOT автоматически создавать полнотекстовый индекс в Postgres. Я не знаю, как это сделать. Это можно сделать? Я знаю, как исключить таблицы, но не индексы. Здесь я могу без проблем выполнить ALTER INDEX в разделе AFTER LOAD, потому что я могу выбрать собственное индексное имя.

  3. Укажите именно ту конфигурацию полнотекстового индекса, которую я хочу, в скрипте pgloader. Я не смог найти вариант для этого в справочнике pgloader. Возможно ли это?

...