PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La meilleure façon d'installer hstore sur plusieurs schémas dans une base de données Postgres ?

Il n'est pas autorisé d'installer des extensions plusieurs fois par base de données. Citant le manuel sur CREATE EXTENSION :

N'oubliez pas que l'extension elle-même n'est pas considérée comme faisant partie de n'importe quel schéma :les extensions ont des noms non qualifiés qui doivent être uniques à l'échelle de la base de données. Mais les objets appartenant à l'extension peuvent se trouver dans des schémas.

Si vous ne voulez pas inclure public dans votre search_path , installez les extensions "publiques" dans un schéma dédié (exemple :extensions ). J'utiliserais un schéma unique pour chacun d'eux, pas un schéma séparé pour chaque extension. Il y en a plusieurs.CREATE EXTENSION offre une option d'installation sur un schéma existant de votre choix :

    CREATE EXTENSION hstore SCHEMA extensions;

Et assurez-vous que le schéma est inclus dans le search_path d'utilisateurs susceptibles de vouloir l'utiliser.

  • Comment le search_path influence-t-il la résolution de l'identifiant et le "schéma actuel"

Le stockage des données n'est pas du tout affecté par le schéma dans lequel réside l'extension.