Sto lavorando a un progetto che deve utilizzare hstore
su più schemi. Lo schema "pubblico", in cui è stata installata l'estensione hstore
, non è disponibile ovunque, perché il mio ambito non cerca "pubblico". In alcune prove, ho creato l'estensione su uno schema chiamato 'hstore' e ho usato lo schema su ogni ambito disponibile (percorso di ricerca) usato.Il modo migliore per installare hstore su più schemi in un database Postgres?
Sulla base di questo, ho alcune domande:
E 'ok per creare uno schema solo per l'estensione? O è meglio creare l'estensione su ogni singolo schema (ad esempio,
customer_1
,customer_2
e così via ...)?La creazione dell'estensione in uno schema separato influisce sulla posizione in cui sono memorizzati i dati? Sto usando più schemi per rendere più facile il backup/ripristino, e davvero non voglio che pg memorizzi tutti i miei dati
hstore
in una tabella nascosta (comepg_large_objects
per blob) su un singolo schema.
I 'estensioni 'Lo schema dovrebbe essere aggiunto a search_path, corretto? – Qcom
@ Qcom: corretto. E anche la sequenza di schemi nel search_path è rilevante. * O * è necessario qualificare lo schema per tutti gli oggetti a cui si desidera fare riferimento, inclusi gli operatori! Dettagli: http://stackoverflow.com/questions/22975599/how-to-use-operator-from-the-extension-pg-trgm/22975642#22975642 –
Ci sono alcuni ovvi benefici oltre alla chiarezza nell'installazione di estensioni in un apposito schema piuttosto che usare pubblico? – Qcom