CREATE OPERATOR FAMILY — 定义一个新的操作符族
CREATE OPERATOR FAMILYnameUSINGindex_method
CREATE OPERATOR FAMILY 创建一个新的操作符族。一个操作符族定义了一组相关的操作符类,还可能包含一些额外的操作符和支持函数,它们与这些操作符类兼容,但对任何单个索引的运作来说并非必需。(对索引而言必需的操作符和函数应当被归入相关的操作符类中,而不是作为“松散的”成员留在操作符族中。通常,单一数据类型的操作符被绑定到操作符类,而跨数据类型的操作符则可以在一个包含这两种数据类型的操作符类的操作符族中保持松散。)
新的操作符族最初是空的。应当通过随后发出 CREATE OPERATOR CLASS 命令来添加所包含的操作符类,并且可选地发出 ALTER OPERATOR FAMILY 命令来添加“松散的”操作符及其相应的支持函数,从而填充该操作符族。
如果给出了模式名,那么该操作符族会被创建在指定的模式中。否则它会被创建在当前模式中。同一模式中的两个操作符族只有在用于不同索引方法时才能同名。
定义操作符族的用户会成为它的拥有者。目前,创建用户必须是超级用户。(之所以有这一限制,是因为错误的操作符族定义可能会造成混淆,甚至使服务器崩溃。)
更多信息请参考 Section 36.16。
name要创建的操作符族的名称。该名称可以用模式名限定。
index_method该操作符族所面向的索引方法的名称。
CREATE OPERATOR FAMILY 是一个 PostgreSQL 扩展。SQL 标准中没有 CREATE OPERATOR FAMILY 语句。