PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Melhor maneira de instalar o hstore em vários esquemas em um banco de dados Postgres?


Não é permitido instalar extensões várias vezes por banco de dados. Citando o manual sobre CREATE EXTENSION :

Lembre-se de que a extensão em si não é considerada dentro de qualquer esquema:as extensões têm nomes não qualificados que devem ser exclusivos em todo o banco de dados. Mas os objetos pertencentes à extensão podem estar dentro de esquemas.

Se você não quiser incluir public em seu search_path , instale extensões "públicas" em um esquema dedicado (exemplo:extensions ). Eu usaria um único esquema para todos eles, não um esquema separado para cada extensão. Existem vários deles.CREATE EXTENSION oferece uma opção para instalar em um esquema existente de sua escolha:
    CREATE EXTENSION hstore SCHEMA extensions;

E verifique se o esquema está incluído no search_path de usuários que podem querer fazer uso dele.
  • Como o search_path influencia a resolução do identificador e o "esquema atual"

O armazenamento de dados não é afetado pelo esquema em que a extensão reside.