sql >> Base de Datos >  >> RDS >> PostgreSQL

¿La mejor manera de instalar hstore en múltiples esquemas en una base de datos de Postgres?

No está permitido instalar extensiones varias veces por base de datos. Citando el manual en CREATE EXTENSION :

Recuerde que la extensión en sí no se considera dentro de ningún esquema:las extensiones tienen nombres no calificados que deben ser únicos en toda la base de datos. Pero los objetos que pertenecen a la extensión pueden estar dentro de los esquemas.

Si no desea incluir public en tu search_path , instale extensiones "públicas" en un esquema dedicado (ejemplo:extensions ). Usaría un solo esquema para todos ellos, no un esquema separado para cada extensión. Hay bastantes de ellos.CREATE EXTENSION ofrece una opción para instalar en un esquema existente de su elección:

    CREATE EXTENSION hstore SCHEMA extensions;

Y asegúrese de que el esquema esté incluido en search_path de usuarios que podrían querer hacer uso de él.

  • ¿Cómo influye search_path en la resolución del identificador y el "esquema actual"?

El almacenamiento de datos no se ve afectado en absoluto por el esquema en el que reside la extensión.