安装hstore扩展的’public’模式在任何地方都不可用,因为我的范围不在’public’查找.在一些试用版中,我在名为“hstore”的模式上创建了扩展,并在所使用的每个可用范围(搜索路径)上使用了模式.
基于此,我提出了一些问题:
>是否可以为扩展名创建架构?或者,最好是在每个模式上创建扩展(例如,customer_1,customer_2等等)?
>在单独的模式中创建扩展是否会影响数据的存储位置?我正在使用多个模式来使备份/恢复更容易,并且实际上不希望pg将所有hstore数据存储在单个模式的隐藏表(如blob的pg_large_objects)中.
CREATE EXTENSION
:
Remember that the extension itself is not considered to be within any
schema: extensions have unqualified names that must be unique
database-wide. But objects belonging to the extension can be within schemas.
如果您不想在search_path
中包含public,请将“public”扩展安装到专用架构中(例如:extensions).我会为所有这些使用单个模式,而不是每个扩展的单独模式. There are quite a few of them.CREATE EXTENSION
提供了一个安装到您选择的现有架构的选项:
CREATE EXTENSION hstore SCHEMA extensions;
并确保架构包含在可能想要使用它的用户的search_path中.
> How does the search_path influence identifier resolution and the “current schema”
数据存储完全不受扩展所在的架构的影响.
原文地址:https://www.jb51.cc/postgresql/192043.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。