Sto tentando da più giorni di passare dalla versione 2.5.1 alla 3.0.
Ho avuto parecchi problemi migrando i dati tra le versioni postgresql 9.3 e 10.7 con le librerie postgis, per l'incompatibilità dichiarata tra le versioni 2.1 (installata con postgresql 9.3) e la versione 2.5 (ora installata con postgresql 10.7). Ho risolto facendo un drop di tutte le function che fanno riferimento a postgis sul db prima di spostare i dati ed inoltre ho applicato il "trucco" di creare delle false librerie 2.1 (ma in realtà erano le 2.5 rinominate).
A questo punto la migrazione del db dalla 9.3 alla 10.7 è andata a buon fine.
Altro problema è ora sorto quando ho avviato cmdbuild 3.0, nell'applicare le patches si blocca alle postgis fix 2 con il seguente errore:
org.cmdbuild.dao.DaoException: error processing patch = core-3.0.0-19b_gis_2 (postgis fix 2), caused by: org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [ SET SESSION cmdbuild.ignore_tenant_policies = 'true'; SET SESSION cmdbuild.user_tenants = '{}';
DO $$ BEGIN RAISE NOTICE ‘apply cmdbuild patch %’,
‘core-3.0.0-19b_gis_2’; END $$ LANGUAGE PLPGSQL;
– postgis fix 2
– PARAMS: REQUIRE_SUPERUSER=true
— GIS SCHEMA UPGRADE (step 2) —
DO $$ DECLARE
_gis_master regclass;
_gis_master_attr varchar;
_gis_attr_type varchar;
_class regclass;
BEGIN
IF EXISTS (SELECT * FROM information_schema.tables WHERE
table_schema = ‘public’ AND table_name = ‘_cm3_gis_patch_aux’ ) THEN
CREATE SCHEMA gis;
CREATE EXTENSION postgis SCHEMA gis;
FOR _gis_master, _gis_master_attr, _gis_attr_type IN SELECT “Owner”,
“Code”, “Type” FROM “_GisAttribute” WHERE “Status” = ‘A’ LOOP
SELECT _cm3_gis_table_create(_gis_master, _gis_master_attr,
_gis_attr_type) INTO _class;
PERFORM _cm3_class_triggers_disable(_class);
EXECUTE format(‘INSERT INTO %s
(“Id”,“IdClass”,“User”,“BeginDate”,“Master”,“Geometry”) SELECT
id,%L,usr,begindate,master,gis.ST_GeomFromEWKB(geometry) FROM
_cm3_gis_patch_aux WHERE masterclass = %L::regclass AND masterattr =
%L’,
_class, _class, _gis_master, _gis_master_attr);
PERFORM _cm3_class_triggers_enable(_class);
END LOOP;
DROP TABLE _cm3_gis_patch_aux;
END IF;
END $$ LANGUAGE PLPGSQL;
DO $$ BEGIN RAISE NOTICE ‘applied cmdbuild patch %’,
‘core-3.0.0-19b_gis_2’; END $$ LANGUAGE PLPGSQL;
]; SQL state [XX000]; error code [0]; ERRORE: caricamento della libreria
“/usr/pgsql-10/lib/rtpostgis-2.5.so” fallito:
/usr/gdal23/lib/libgdal.so.20: undefined symbol:
ecs_SetReportErrorFunction
Dove: istruzione SQL “CREATE EXTENSION postgis SCHEMA gis”
funzione PL/pgSQL inline_code_block riga 9 a istruzione SQL; nested
exception is org.postgresql.util.PSQLException: ERRORE: caricamento
della libreria “/usr/pgsql-10/lib/rtpostgis-2.5.so” fallito:
/usr/gdal23/lib/libgdal.so.20: undefined symbol:
ecs_SetReportErrorFunction
Dove: istruzione SQL “CREATE EXTENSION postgis SCHEMA gis”
funzione PL/pgSQL inline_code_block riga 9 a istruzione SQL, caused by:
org.postgresql.util.PSQLException: ERRORE: caricamento della libreria
“/usr/pgsql-10/lib/rtpostgis-2.5.so” fallito:
/usr/gdal23/lib/libgdal.so.20: undefined symbol:
ecs_SetReportErrorFunction
Dove: istruzione SQL “CREATE EXTENSION postgis SCHEMA gis”
funzione PL/pgSQL inline_code_block riga 9 a istruzione SQL
Ho provato a creare a mano lo schema gis, come indicato nel manuale (technical manual pag.9)... si blocca comunque dicendo che non è possibile creare lo schema gis perché già esiste!
Aiutatemi, non riesco a darne fuori dalla marea di problemi... oltre al fatto che ho capito che perderò tutti i dati di geolocalizzazione!
Grazie.