标签
PostgreSQL , create extension , pg_catalog
背景
pg_catalog这个schema是PostgreSQL默认的元数据schema,所有的元数据都在这里.
另一方面,pg_catalog这个schema默认就在搜索路径search_path里面,并且是删除不掉的,而且它的优先级排在所有schema的前面。
比如有两个重名的pg_class分别在这两个schema里面。pg_catalog.pg_calss, public.pg_class, 如果你执行select * from pg_class,那么搜索的是pg_catalog.pg_class.
因此我们在创建extension或者创建一些共用对象时,可以创建在public里面,也可以创建在pg_catalog里面。创建在pg_catalo