Sie können keinen Index erstellen, der jeden allgemeinen regulären Ausdruck beschleunigt. Wenn Sie jedoch einen oder eine begrenzte Anzahl von regulären Ausdrücken haben, die Sie abgleichen möchten, haben Sie einige Möglichkeiten.
Wie Paul Tomblin erwähnt, können Sie eine oder mehrere zusätzliche Spalten verwenden, um anzugeben, ob eine bestimmte Zeile mit diesem Regex oder diesen Regexen übereinstimmt oder nicht. Diese Spalte kann indiziert und effizient abgefragt werden.
Wenn Sie noch weiter gehen wollen, dieses Papier erörtert eine interessant klingende Technik für die Indizierung mit regulären Ausdrücken, bei der nach langen Teilzeichenfolgen in der Regex gesucht wird und die Indizierung darauf basiert, ob diese im Text vorhanden sind, um mögliche Übereinstimmungen zu erzeugen. Dadurch wird die Anzahl der Zeilen, die Sie tatsächlich mit der Regex abgleichen müssen, verringert. Sie könnten dies wahrscheinlich implementieren mit GiST Indizes zu erstellen, was allerdings einen nicht unerheblichen Arbeitsaufwand bedeuten würde.