У меня есть база данных, которой я пользуюсь с недавних пор. Я немного улучшил ее схему и хотел сравнить различия между новой схемой и старой схемой, поэтому я выкинул обе схемы и сделал diff. В старой схеме я вижу некоторые операторы «OPERATOR FAMILY», которые не видны в новой схеме. Если это имеет какое-либо значение, эти операторы 'OPERATOR FAMILY' относятся к пакету tsearch2 contrib для PostgreSQL (например: 'CREATE OPERATOR FAMILY gin_tsvector_ops' и т. Д.). Операторы 'OPERATOR CLASS', относящиеся к операторам tsearch2, присутствуют в обеих схемах. Кроме того, за всеми добавленными операторами «OPERATOR FAMILY» следуют операторы «OPERATOR CLASS» с тем же именем, хотя операторы «OPERATOR CLASS» находятся в обеих схемах.
Что действительно странно, так это то, что, когда я создаю базу данных с новой схемой, выкидываю ее схему с помощью pg_dump, восстанавливаю ее в другой базе данных с помощью pg_restore, а затем снова ее выгружаю - появляются операторы 'OPERATOR FAMILY'! Я grep'd каталог contrib, но я не могу найти какие-либо операторы 'CREATE OPERATOR FAMILY'.
У кого-нибудь был подобный опыт? Есть идеи, что могло бы быть введением этих заявлений?