私は複数のスキーマでhstore
を使用する必要があるプロジェクトに取り組んでいます。 hstore
拡張機能がインストールされている 'public'スキーマは、私のスコープが 'public'で検索されないため、どこからでも利用できません。いくつかの試練では、私は 'hstore'というスキーマ上で拡張を作成し、使用されたすべての有効なスコープ(検索パス)でスキーマを使用しました。Postgresデータベースの複数のスキーマにhstoreをインストールする最も良い方法は?
これに基づき、私はいくつかの質問をしました:
は、それだけの拡張のためのスキーマを作成するために、OKですか?または、単一のスキーマ(例えば、
customer_1
、customer_2
など)ごとに拡張を作成する方が良いでしょうか?別のスキーマ内の拡張の作成は、データの格納場所に影響しますか?私は複数のスキーマを使用してバックアップ/リストアを簡単にしていますが、実際にはすべての
hstore
データを1つのスキーマの隠しテーブル(BLOBの場合はpg_large_objects
)に保存しないようにしています。
'拡張に拡張hstoreのをインストールするには、これを試してみてください'スキーマをsearch_pathに追加する必要がありますか? – Qcom
@ Qcom:正解。また、search_path内のスキーマの順序も関連しています。 *または、参照するすべてのオブジェクト(演算子を含む)をスキーマ修飾する必要があります。詳細:http://stackoverflow.com/questions/22975599/how-to-use-operator-from-the-extension-pg-trgm/22975642#22975642 –
拡張機能を専用アプリケーションにインストールする際の明快さ以外に明白な利点はありますか?スキーマを公開するのではなく、 – Qcom