PostgreSQL - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Bazy danych (http://forum.quantum-gis.pl/forum-23.html) +--- Dział: PostgreSQL, PostGIS (http://forum.quantum-gis.pl/forum-24.html) +--- Wątek: PostgreSQL (/thread-1687.html) |
PostgreSQL - GisUser - 06-08-2018 Cześć, Na swoim hostingu mam bazę PostgreSQL. Po połączeniu przez pgAdmin4 chcę dodać rozszerzenie "postgis". Otrzymuję jednak komunikat: Cytat:ERROR: could not open extension control file "/usr/local/pgsql/share/extension/postgis.control": Nie ma takiego pliku ani katalogu Rozumiem przez ten komunikat, że rozszerzenie postgis nie istnieje na moim koncie hostingowym. Jak w takim razie wgrać na nią pliki i dostosować bazę do poprawnego działania w celu obsługo danych przestrzennych. Rozszerzenia przestrzenne są zainstalowane poprawnie na dysku komputera. Pozdrawiam, RE: PostgreSQL - Binko - 08-08-2018 Masz rację. Hosting musi mieć zainstalowane rozszerzenie albo przynajmniej możliwość zainstalowania z pgadmina lub terminala. Zapytaj wprost swojego dostawcę czy przewiduje coś takiego. Jeśli nie, musisz zainstalować sobie Postgresa i PostGISa na własnym serwerze. RE: PostgreSQL - GisUser - 08-08-2018 PostgreSQL miałem już zaistalowany. Rozszerzenie PostGIS zostało zainstalowane przez dostawce usługi hostingowej. Sprawa rozwiązana. RE: PostgreSQL - wincent3 - 29-07-2020 Witam, mam taki problem, znalazłem BUG-a albo czegoś nie rozumiem. Warstwa z QGIS (3.14) ustawiona jako poligon, ma dodany wyzwalacz TRIGGER z oreślonymi funkcjami autouzupełniania pól. Nawet zrobiłem prostą warstwę tylko ID, POLE_TEXT . Funkcja SQL od strony postgis bez błędów, wszystko działa. Problem powstaje przy działaniu z warstwą punktową. Te same skrypty nie działają. Nie obsługuje triggera prawidłowo. Sygnał odbiera bo uruchamia funkcję. Jednak funkcja nie widzi już pól (kolumn) warstwy. Trigger: CREATE TRIGGER TEST_trigger AFTER INSERT OR UPDATE OR DELETE ON public."TEST" FOR EACH ROW EXECUTE PROCEDURE public.TEST_function(); Funkcja: CREATE OR REPLACE FUNCTION public.TEST_function() RETURNS trigger AS $BODY$ DECLARE BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.Fild1 = ( 'try to do something' ); UPDATE public."TEST" SET "Fild1" = NEW.Fild1 WHERE pbulic."TEST"."id"=NEW.id ; RETURN NULL; WHEN 'UPDATE' THEN RETURN NULL; WHEN 'DELETE' THEN RETURN NULL; END CASE; END; $BODY$ LANGUAGE plpgsql Czy ktoś ma jakieś doświadczenia i rozwiązania problemu? |