Gre*_*ski 10 postgresql hstore postgresql-extensions
我正在开发一个需要hstore
在多个模式上使用的项目.hstore
安装扩展程序的"公共"模式无处不在,因为我的作用域不在"公共"中查找.在一些试用版中,我在名为"hstore"的模式上创建了扩展,并在所使用的每个可用范围(搜索路径)上使用了模式.
基于此,我有一些问题:
是否可以为扩展创建架构?或者是它更好地在每一个方案中创建的扩展(如,customer_1
,customer_2
,等...)?
在单独的模式中创建扩展是否会影响数据的存储位置?我正在使用多个模式来使备份/恢复更容易,并且实际上不希望pg将我的所有hstore
数据存储pg_large_objects
在单个模式的隐藏表(例如blob)中.
每个数据库不允许多次安装扩展.引用手册CREATE EXTENSION
:
请记住,扩展本身不被视为在任何模式中:扩展具有必须在数据库范围内唯一的非限定名称.但是属于扩展的对象可以在模式中.
如果您不想包含public
在您的中search_path
,请将"公共"扩展安装到专用模式中(例如:) extensions
.我会为所有这些使用单个模式,而不是每个扩展的单独模式.其中有不少.
CREATE EXTENSION
提供安装到您选择的现有架构的选项:
CREATE EXTENSION hstore SCHEMA extensions;
Run Code Online (Sandbox Code Playgroud)
并确保架构包含在search_path
可能想要使用它的用户中.
数据存储完全不受扩展所在的架构的影响.
归档时间: |
|
查看次数: |
3502 次 |
最近记录: |