Saltar al contenido

Instalación de la extensión PostgreSQL en todos los esquemas

Después de observar en diversos repositorios y páginas webs de internet al final encontramos la solución que te mostramos pronto.

Solución:

CREATE EXTENSION unaccent; instala la extensión en el esquema público. Para que sea útil, simplemente inclúyalo cuando cambie la ruta de búsqueda:

set search_path = my_schema, public;

O mejor, cree un esquema que contenga todas las extensiones, luego siempre agregue ese esquema a search_path.

create schema extensions;

-- make sure everybody can use everything in the extensions schema
grant usage on schema extensions to public;
grant execute on all functions in schema extensions to public;

-- include future extensions
alter default privileges in schema extensions
   grant execute on functions to public;

alter default privileges in schema extensions
   grant usage on types to public;

Ahora instale la extensión:

create extension unaccent schema extensions;

Luego use incluir ese esquema en search_path

set search_path = my_schema, extensions;

Si no desea repetir lo anterior para cada nueva base de datos que cree, ejecute los pasos anteriores mientras está conectado a la template1 base de datos. Incluso puede incluir el esquema de extensiones en la ruta de búsqueda predeterminada editando postgresql.conf o usando alter system

Tenía la misma pregunta, pero la respuesta de @Richard Huxton condujo a la solución correcta:

create extension unaccent schema pg_catalog;

¡¡Esto funciona!!

Como dijo Ricardo, pg_catalog se añade automáticamente (en silencio) a cada search_path. Se encontrarán las extensiones añadidas allí.

en mi humilde opinión esto es mucho mejor que schema.func()si la extensión es mundial.

Por ejemplo, uso muchos esquemas. yo uso el esquema PUBLIC para la depuración: todo debe estar en su propio esquema. Si algo está en PÚBLICO, está mal.

Creando la extensión en pg_catalog mantiene todo el esquema limpio y permite que el esquema en sí funcione como si fuera parte del núcleo de postgres.

tu no Siempre puede llamarlo completamente calificado si lo desea.

SELECT .(...)

De hecho, creo que la única razón por la que las funciones integradas están siempre disponibles es que PG agrega pg_catalog al final de su ruta de búsqueda sin importar lo que haga.

Reseñas y calificaciones del artículo

Si posees alguna duda y forma de renovar nuestro noticia puedes dejar una aclaración y con deseo lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *