В моей базе данных PostgreSQL 11 есть столбец «name» с типом данных «tsvector» для реализации полнотекстового поиска.
Но когда я пытаюсь добавить в этот столбец запись, содержащуюдвоеточие «:», возникает ошибка:
Exception in thread Thread-10:
Traceback (most recent call last):
File "C:\Program Files\Python37\lib\threading.py", line 917, in_bootstrap_inner
self.run()
File "C:\Program Files\Python37\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\vs\Desktop\Арсений execute\allsave.py", line 209, in group_parsing
VALUES (%s,%s,%s,%s)''', a[i])
psycopg2.ProgrammingError: ERROR: syntax error in tsvector: "Reggae.FM:"
LINE 3: VALUES (181649,'Reggae.FM:'
Когда я добавил эти данные в тип поля «текст», проблем не было.Но, очевидно, «tsvector» не принимает строки, содержащие двоеточие «:» и, возможно, некоторые другие символы.
Вопрос в том, как реализовать полнотекстовый поиск, если «tsvector» не может хранить такие символы.?
PS Использование «text» или «char» не является решением;поиск таких типов данных очень медленный.Я получаю строки, разбирая группы vk.com (русская социальная сеть), то есть имена всех существующих групп.Мне нужно сохранить эти имена в полной форме, чтобы пользователь мог найти их на моем сайте.Но любые решения мне помогут.