Niedozwolone jest wielokrotne instalowanie rozszerzeń na bazę danych. Cytując instrukcję na CREATE EXTENSION :
Pamiętaj, że samo rozszerzenie nie jest uważane za znajdujące się w żadnym schemacie:rozszerzenia mają niekwalifikowane nazwy, które muszą być unikalne w całej bazie danych. Ale obiekty należące do rozszerzenia mogą znajdować się w schematach.
Jeśli nie chcesz uwzględniać public w Twojej search_path , zainstaluj rozszerzenia „public” w dedykowanym schemacie (przykład:extensions ). Użyłbym jednego schematu dla wszystkich z nich, a nie osobnego schematu dla każdego rozszerzenia. Jest ich sporo.CREATE EXTENSION oferuje opcję instalacji w istniejącym schemacie do wyboru:
CREATE EXTENSION hstore SCHEMA extensions;
I upewnij się, że schemat jest zawarty w search_path użytkowników, którzy mogą chcieć z niego skorzystać.
- W jaki sposób search_path wpływa na rozwiązywanie identyfikatorów i „bieżący schemat”
Schemat, w którym znajduje się rozszerzenie, nie ma żadnego wpływu na przechowywanie danych.