【发布时间】:2011-03-23 15:42:55
【问题描述】:
我有一个数据库,我已经使用了一段时间了。我稍微改进了它的模式,想要比较新模式和旧模式之间的差异,所以我转储了两个模式并做了一个差异。在旧模式中,我看到一些在新模式中不可见的“OPERATOR FAMILY”语句。如果有任何区别,这些“OPERATOR FAMILY”语句与 PostgreSQL 的 tsearch2 contrib 包相关(例如:“CREATE OPERATOR FAMILY gin_tsvector_ops”等)。与 tsearch2 运算符相关的“OPERATOR CLASS”语句出现在两个模式中。此外,所有添加的“OPERATOR FAMILY”语句后面都是同名的“OPERATOR CLASS”语句,尽管在两个模式中都可以找到“OPERATOR CLASS”语句。
真正奇怪的是,当我使用新架构创建数据库时,使用 pg_dump 转储其架构,使用 pg_restore 将其还原到另一个数据库中,然后再次转储 - 'OPERATOR FAMILY' 语句出现了!我 grep 了 contrib 目录,但我找不到任何“CREATE OPERATOR FAMILY”语句。
有人有类似经历吗?有什么想法可能会介绍这些陈述吗?
【问题讨论】:
标签: postgresql