PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Beste Möglichkeit, hstore auf mehreren Schemas in einer Postgres-Datenbank zu installieren?

Erweiterungen dürfen nicht mehrfach pro Datenbank installiert werden. Zitieren Sie das Handbuch zu CREATE EXTENSION :

Denken Sie daran, dass die Erweiterung selbst in keinem Schema enthalten ist:Erweiterungen haben nicht qualifizierte Namen, die datenbankweit eindeutig sein müssen. Aber Objekte, die zur Erweiterung gehören, können sich innerhalb von Schemas befinden.

Wenn Sie public nicht einschließen möchten in Ihrem search_path , installieren Sie "öffentliche" Erweiterungen in einem dedizierten Schema (Beispiel:extensions ). Ich würde ein einziges Schema für alle verwenden, kein separates Schema für jede Erweiterung. Davon gibt es einige.CREATE EXTENSION bietet eine Option zur Installation in einem vorhandenen Schema Ihrer Wahl:

    CREATE EXTENSION hstore SCHEMA extensions;

Und stellen Sie sicher, dass das Schema im search_path enthalten ist von Benutzern, die davon Gebrauch machen möchten.

  • Wie beeinflusst der Suchpfad die Identifikatorauflösung und das "aktuelle Schema"

Die Datenspeicherung wird überhaupt nicht durch das Schema beeinflusst, in dem sich die Erweiterung befindet.