Hola, nos surje el siguiente error al darl emigrar_base durante la migración a 3.17.
. Ejecutando Archivo: 001243.sql
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_42883
[MENSAJE]: ERROR: function pg_catalog.btrim(integer) does not exist
LINE 5: …ALTER COLUMN id_curso_externo TYPE Integer USING (trim(id_cu…
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
[SQL EJECUTADA]: – +++++++++++++++++++++++++++++++++++++++
– Script de conversi▒n 001243.sql
– +++++++++++++++++++++++++++++++++++++++
ALTER TABLE int_pv_cursos ALTER COLUMN id_curso_externo TYPE Integer USING (trim(id_curso_externo)::integer);
– +++++++++++++++++++++++++++++++++++++++
– Fin Script de conversi▒n 001243.sql
– +++++++++++++++++++++++++++++++++++++++
Estuvimos analizando el caso, encontramos el motivo del error
En la versión 3.16.2 se agregaron esos scripts para modificar la base que mencionas (1243 y 1245). El problema es que no se hicieron reentrantes.
La versión 3.17.0 incluye también ese diferencial para quienes se actualizan desde otras versiones (aparte de la 3.16.2), para que se modifique el tipo de columna.
Dado que los scripts no son reentrantes, cuando se actualiza de 3.16.2 (que ya lo ejecutó) a 3.17.0 y lo intenta ejecutar nuevamente, se produce el error que encontraste.
Cuando se actualiza desde otras versiones diferentes a las 3.16.2 no ocurre el problema.
Esto ya lo solucionamos y está comiteado en cada nodo.
hola, no lo tengo. Igualmente borré mi comentario porque me había equivocado de base y estaba mirando una donde le habia hecho cambios para correr araucano actualizado a la 3.17.
gracias igual por tu respuesta!
Cuál es el resultado de ejecutar esta consulta SQL?
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute ON pg_attribute.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema()) AND
pg_tables.tablename = 'mdp_personas_allegados' AND
pg_attribute.attname = 'dato_censal' AND
pg_attribute.attnum > 0;
Es 0 el resultado en la base 3.15.1-
En la que estoy actualizando a la 3.17, es 1.
En la actualización, me tiraron conflictos que los mandé via GDS a ver si pueden verlos y ayudarme en cómo resolverlos.
gracias!
Asumo que la base en la que tenías error es la que estás actualizando a 3.17. Si el resultado es uno no debería crearte la tabla ‘his_personas_allegados’ (fijate que el diferencial tiene una sentencia ‘IF’ y sólo lo hace cuando es cero). Si el error persiste editá el diferencial localmente comentando la creación de la tabla.
yo estoy actualizando de la 3.15 a la 317. Ese error que se produjo en el script 1331.sql fue porque en la base que yo estoy haciendo la actualización, ya había modificado las tablas de araucano para sacar el araucano nominal la semana pasada. Pero volví atras esas tablas y no tuve problemas con el resto de los scripts.
Por favor te pido que mires el GDS que les envié el viernes con los conflictos asi puede seguir con la actualización.
gracias!